Comment faire ?

Le man de rsync est tres bien fait, je dirais simplement qu’il faut le lire pour comprendre les principes.

Pour ceux qui veulent faire vite :

rsync copie/synchronize une source et une destination. Le premier argument est la source et le deuxième argument est la destination.

Un point important avec rsync la gestion du / en fin de path :

 rsync -aivz -e ssh --del user@monserveur.com:"/u01/svnroot/" /data/svn

le / à la fin de « /u01/svnroot/ » indique la copie du contenu du répertoire s’il n’est pas présent c’est le répertoire svnroot qui est copié dans le répertoire /data/svn

Quelques exemples d’utilisation :

Copie d’un fichier vers une destination :
 rsync -v -e ssh user@monserveur.com:/path/fic.tar.gz /autrepath/
Synchronisation de deux répertoires dans un tunnel ssh :
 rsync -aivz -e ssh --del user@monserveur.com:"/path/ftp/" /autrepath/ftp
Dryrun (que du log pas d’action) de la synchronisation précédente :
 rsync -anivz -e ssh --del user@monserveur.com:"/path/ftp/" /autrepath/ftp

Mémos :

  • attention avec l’option –del (c’est la plus rapide car elle supprime à  la volée) la suppression est effective immédiatement. Il est conseillé d’ajouter un n dans les options pour lancer en mode dryrun : il n’y a pas d’exécution effective des commandes seulement un log des actions.
  • pour l’utilisation avec des tunnels ssh, ajoutez votre cle_pub dans les authorized_keys sur le serveur distant pour ne pas avoir à taper votre mot de passe surtout si il s’agit de tâches ordonnancées.