Utilisez simplement rsync. Installez WSL et c’est bon.
La fonctionnalité Windows “Sous-système Windows pour Linux” est activée sur ma machine et je peux utiliser ls dans cmd, mais pas rsync. Cependant, je pense que ls provient de git, et non de WSL. (Via l’option d’installation “Utiliser Git et les outils Unix optionnels depuis l’invite de commandes”.)
Je souhaiterais éviter d’installer une VM/distribution complète et GnuWin32 semble abandonné.
Mais… comment ? Bash ne peut rien installer, on a besoin d’un gestionnaire de paquets ou d’un installeur. J’ai vérifié le dernier installeur pour un composant rsync et il n’en propose pas.
Il s’exécute ensuite nativement sous Windows en tant que <répertoire d'installation MSYS2>/usr/bin/rsync.exe.
À ce jour, la version MSYS2 est plus récente que celle de Debian 12 (3.3.0 contre 3.2.7).
Avec MINGW64_NT-10.0-19045 version 3.5.4-0bc1222b.x86_64 (runneradmin@fv-az1495-159) (gcc version 13.3.0 (GCC) ) 2024-12-05 09:27 UTC, il y a deux limitations mais cela fonctionne comme prévu par ailleurs :
Vous devez désactiver la conversion automatique de chemin pour le chemin du serveur (si le serveur n’est pas également une machine Windows, bien entendu) et les variables d’environnement documentées ne semblent pas fonctionner, mais la variable non documentée MSYS_NO_PATHCONV fonctionne.
La version MSYS2 d’OpenSSH doit être utilisée – avec C:\Windows\System32\OpenSSH\ssh.exe, la transmission échoue après les premiers kilooctets. Elle peut être ajoutée via pacman -S openssh.