Lantsei.lesCigales.ORG

Rsync, synchroniser des fichiers

Exemple de commande pour synchroniser des données via SSH :

rsync -e ssh -avz --delete-after <source> <utilisateur>@<adresse-ip>:<destination>

-a : archive => préserve les dates, permissions, etc. des fichiers. Inclus l'option récursivité (-r). Option à utiliser quand on veut transférer des répertoires entiers avec leurs sous-répertoires en préservant toutes les caractéristiques des fichiers.
-v : verbosité.
-z : compresse les fichiers (Limite la bande passante mais augmente l'utilisation processeur et le temps de transfert).
-e ssh : utilise le protocole SSH.
--delete-after : à la fin du transfert, supprime les fichiers dans le dossier de destination ne se trouvant pas dans le dossier source.

💡 Astuce: Avec l'option -n la commande liste ce qu'elle va faire sans l'exécuter.

--exclude="<ressource>" : option d'exclusion de dossier, de fichier ou d'extention (*.extention).
--exclude-from="<chemin>" : option d'exclusion de liste contenu dans un fichier.
--include="<ressource>" : option permettant d'inclure des dossiers/ fichiers /extentions dans l'exclusion.

Autres options :

-r : la synchro est récursive (elle prend les sous-répertoires). Est inclus dans l'option -a.
-l : copie les liens symboliques comme liens symboliques. Est inclus dans l'option -a.
-L : remplace les liens symboliques par les fichiers référencés.

--remove-sent-files : les fichiers envoyés sont supprimés de chez l'émetteur => effectue un transfert.
--delete : efface les fichiers qui ont disparus du répertoire source => mirroir, la copie est identique à l'original.
--exclude=MOTIF : exclus les fichiers correspondant au MOTIF (par exemple *.txt).
--progress : affiche la progression.

🔗 Source: doc.ubuntu-fr.org/..