Rsync
De Wiki doc
Rsync est un outil de synchronisation de fichiers unidirectionnel (à l'inverse de Unison). Il comporte un grand nombre d'options et peut exploiter SSH afin de d'agir sur deux machines au travers du réseau.
INFORMATION
On entend par unidirectionnel le fait que le delta entre deux fichiers soit toujours comparé de la source à la destination et non l'inverse (ce sera toujours la destination qui se ferra écraser - pas de notion de date).Installation
Rsync est un outil développé en Python disponible dans la plupart des distributions Linux. Sous Debian, on peut l'obtenir via Apt.
apt install rsync
Utilisation
ATTENTION
Comme de nombreux outils de transferts, les répertoires ne sont pas géré de la même façon si un/
a été précisé ou non. Par exemple, un transfert via Rsync du répertoire DOSSIER-SOURCE
vers DOSSIER-DESTINIATION
créera ce dernier avec le contenu du premier alors qu'un DOSSIER-SOURCE/
copiera son contenu dans la destination (ce sera l'équivalent d'un cp DOSSIER-SOURCE/* DOSSIER-DESTINATION
en somme).Basique
Dans son plus simple emploi, Rsync s'utilise comme la commande cp
.
rsync DOSSIER/SOURCE DOSSIER/DESTINATION
Utilisation
Il est possible d'ajouter un ensemble de paramètres à l'outil afin de répondre à des besoins spécifiques.
Maintient des permissions sources
rsync -a SOURCE DESTINATION
Maintient des permissions de destination
rsync -a -A --no-perms --no-owner --no-group SOURCE DESTINATION
Transfert via SSH
rsync -a SOURCE utilisateur@DESTINATION
Transfert via relay SSH
La'usage d'un relay SSH est utile si la machine est inaccessible directement (NAT, pare-feux, clé SSH...).
rsync -a -e "ssh -J utilisateur@IPRELAI:PORT" SOURCE utilisateur@IP/DESTINATION
Compression
rsync -z SOURCE DESTINATION
Verbosité
rsync -v --progress SOURCE DESTINATION
Statistiques
rsync --stats SOURCE DESTINATION
Usage fréquent
Voici la commande que j'utilise souvent pour transférer des fichiers dans mon réseau local.
rsync -av --progress SOURCE utilisateur@IP/DESTINATION