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

Sommaire

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

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

[modifier] Si le répertoire de destination existe

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:

[modifier] Exclure un répertoire

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  ~/ .

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

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