La stratégie la plus simple consiste à vous connecter au serveur à distance et à partir de là, exécutez la commande rsync , avec les privilèges sudo.
Je suppose que vous travaillez sous Linux sur les deux machines.
Appelons localuser le nom d'utilisateur sur le serveur local , et remoteuser le nom d'utilisateur sur le serveur à distance .
- Sur le serveur local est monté une unité externe dans le chemin
/media/MyUsb
- Sur le serveur distant, il existe un répertoire appelé
/data/DirToSync
.
localuser@localserver ~> ssh -X remoteuser@remoteserver
Il devrait vous demander le mot de passe de l'utilisateur distant sur le serveur à distance et affichera ensuite l'invite sur le serveur distant:
remoteuser@remoteserver ->
Ici vous pouvez écrire la commande rsync :
sudo rsync -av /data/DirToSync localuser@localserver:/media/MyUsb
Il demandera avant le mot de passe de sudo
la machine distante (celui de remoteuser @ remoteserver ) et après le mot de passe de la destination (celui de localuser @ localserver).
Remarques
- Vous devez être dans la liste sudoers de la machine distante (cela signifie que vous devez avoir le droit de fonctionner
sudo
). Essayez de le faire sudo ls
sur le serveur distant et donnez votre mot de passe à la demande. S'il exécute la ls
commande, vous êtes dans cette liste. (Cela devrait être un cas vraiment rare et peu sûr si vous étiez dans cette liste et sans besoin de mot de passe; dans ce cas, vous ne devez pas écrire le mot de passe pour sudo
).
- Les mots de passe pour les
ssh/rsync
connexions ne vous seront pas demandés si vous avez généré et installé les clés ssh .
- via
ssh
vous pouvez même envoyer la sudo
commande rsync
de là-bas au localhost, mais c'est une syntaxe un peu plus complexe, voir ici par exemple , et vous pouvez rencontrer des problèmes à cause de sudo
certaines versions de Linux.