Rsync

De Octet.ca

Voir aussi ssh pour faire une connexion sans mot de passe.

Utilisation de la commande rsync.

Local:

rsync  --human-readable -av /source /destination


Via ssh:

rsync  --human-readable --delete --copy-links -e ssh -av /repertoire/local/source username@machine.ca:/repertoire/serveur/destination

Si le répertoire de destination n'existe pas[modifier]

Il faut que le répertoire local et celui sur le serveur soit le même. Par exemple, si j'ai un repertoire dans /home/asdf/toto/ que je veux harmoniser avec /home/zxcv/toto/, il faudra utiliser la commande:

 rsync  --human-readable --delete --copy-links -e ssh -av /home/asdf/toto/ zxcv@machine.ca:toto

Si le répertoire de destination existe[modifier]

Si le répertoire existe déjà sur la maman, il ne faut pas l'écrire dans l'adresse de destination parce qu'il sera recréé. Dans l'exemple précédent, si toto existe déjà, un autre répertoire toto sera créé dans toto, ce qui n'est probablement pas le comportement voulu.

rsync   --human-readable --delete  --copy-links -e ssh -av /home/asdf/toto/ zxcv@machine.ca:

Exclure un répertoire[modifier]

Pour exclure le répertoire /home/asdf/toto" il faut utiliser la commande:

rsync  --human-readable --delete --copy-links -e ssh -av --exclude 'toto' /home/asdf/ zxcv@machine.ca:

L'argument de --exclude est relatif au dossier racine.

Pour éviter les configs dans le $HOME:

rsync --exclude '.cache' --exclude '.config' --exclude '.local/share' --exclude '.mozilla' --exclude '.thumbnails' --exclude '.wine*' --human-readable -av  ~/ .

Répertoires et fichiers .qqc dans le $HOME seulement[modifier]

rsync  --human-readable --delete --copy-link --verbose ~/.??*  /media/miguel/5592-09B7/backup/config_home