Rsync

De Wiki de Geonov
Révision datée du 13 mars 2021 à 11:26 par Mathieu Ambrosy (discussion | contributions) (Page créée avec « 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 pui… »)
(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.

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