Rsync

De Wiki de Geonov
Révision datée du 13 mars 2021 à 11:44 par Mathieu Ambrosy (discussion | contributions)
(diff) ← Version précédente | Voir la version actuelle (diff) | Version suivante → (diff)

rsync est un logiciel libre de synchronisation de fichiers, distribué sous licence GNU GPL, similaire à l'outil rcp d'Unix.

Il est extrêmement utile et puissant pour synchroniser des répertoires et des fichiers, typiquement lors de sauvegardes incrémentielles ou différentielles.

apt-get install rsync -y

La liste des options est impressionnante, en voici quelques unes :

  • -r : récursif : traite les sous-répertoires
  • -a : mode archive
  • -z : compresse les données pendant le transfert (utile en cas d'envoi de gros fichiers sur une machine distante, contre-productif en local ou s'il y a beaucoup de petits fichiers)
  • --progress : affiche la progression des transferts
  • --dry-run : mode test, aucun transfert réel (utile pour vérifier la commande avant l'exécution réelle)
  • --ignore-existing : seuls les fichiers manquants en destination sont créés
  • --update : les fichiers à jour ou nouveaux de la source sont créés en destination

Voici quelques cas d'usage :

1 Synchronisation

La commande suivante met à jour le répertoire /var/www dans la destination /var (ne pas écrire le nom du répertoire source dans le chemin de la destination) :

rsync -ra --progress /var/www 10.0.0.1:/var

Les nouveaux fichiers et les fichiers à jour de la source sont écrits dans la destination. Les fichiers supplémentaires dans la destination sont supprimés.

2 Insertion uniquement

Avec cette commande, seuls les fichiers de la source manquants en destination sont écrits dans la destination :

rsync --ignore-existing -ra --progress /var/www 10.0.0.1:/var

3 Insertion et mise à jour

Avec cette commande, les fichiers de la source manquants en destination sont écrits dans la destination et les fichiers plus récents en source sont mis à jour dans la destination :

rsync --update  -ra --progress /var/www 10.0.0.1:/var