Rsync

De Wiki doc

Version datée du 20 décembre 2020 à 16:25 par Ycharbi (discussion | contributions) (Changement de catégorie.)

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

{{{1}}}

Basique

Dans son plus simple emploi, Rsync s'utilise comme la commande <source lang="bash" inline>cp</source>.

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

Source