Rsync
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