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.