Introduction
La commande rsync est l’un des outils les plus puissants et les plus polyvalents de Linux pour synchroniser et transférer des fichiers et des répertoires. Que vous ayez besoin de sauvegarder des données, de répliquer des fichiers ou de transférer des données entre systèmes (en local ou à distance), rsync est un utilitaire essentiel pour une gestion efficace des fichiers.
Ce guide explore les bases de rsync, sa syntaxe, les cas d’usage courants et des conseils pour tirer le meilleur parti de ses fonctionnalités.
Qu’est-ce que rsync ?
Rsync (Remote Sync) est un utilitaire en ligne de commande sous Linux conçu pour :
- Transferts de fichiers efficaces : il utilise l’encodage delta pour ne transférer que les parties modifiées des fichiers.
- Sauvegarde et synchronisation : idéal pour gérer les sauvegardes et répliquer les répertoires.
- Transferts locaux et distants : fonctionne parfaitement via SSH pour des opérations distantes sécurisées.
Comment utiliser rsync
Syntaxe de base
La syntaxe générale de rsync est la suivante :
rsync [options] source destination
Exemples de cas d’usage
1. Copier un répertoire local vers un serveur distant
rsync -av /local/dir/ user@remote:/remote/dir/
Options utilisées :
-a: mode archive (préserve les liens symboliques, les autorisations, les horodatages, etc.).-v: sortie détaillée avec des informations précises pendant le transfert.
2. Synchroniser des fichiers d’un serveur distant vers le poste local
rsync -azP user@remote:/remote/dir/ /local/dir/
Options utilisées :
-z: compresse les données des fichiers pendant le transfert pour une vitesse accrue.-P: affiche la progression pendant le transfert et permet de reprendre les transferts interrompus.
3. Sauvegarder des fichiers en excluant certains types de fichiers
rsync -av --exclude='*.tmp' /source/dir/ /backup/dir/
L’option --exclude ignore les fichiers correspondant au motif indiqué (par ex., les fichiers .tmp).
4. Supprimer les fichiers de la destination qui n’existent plus dans la source
rsync -av --delete /source/dir/ /destination/dir/
Avertissement : vérifiez toujours deux fois les chemins lorsque vous utilisez --delete afin d’éviter toute perte accidentelle de données.
Avantages de l’utilisation de rsync
1. Transferts efficaces
Rsync ne transfère que les parties modifiées des fichiers, ce qui économise de la bande passante et du temps.
2. Polyvalence
Gère les transferts locaux et distants sans difficulté, ce qui le rend idéal pour les sauvegardes, les migrations et la synchronisation.
3. Fiabilité
Prend en charge les transferts de fichiers pouvant être repris, de sorte que les opérations interrompues peuvent reprendre sans recommencer depuis le début.
4. Sécurité
S’intègre à SSH pour des transferts de données sécurisés via des connexions distantes.
5. Personnalisable
Offre de nombreuses options pour exclure des fichiers, définir des limites de bande passante, et bien plus encore.
6. Compatibilité multiplateforme
Fonctionne sous Linux, Unix et même Windows (via des outils comme Cygwin ou WSL).
Conseil bonus : utilisez le mode simulation !
Avant d’exécuter une commande rsync potentiellement destructive (par ex., avec --delete), utilisez l’option --dry-run pour simuler l’opération :
rsync -av --delete --dry-run /source/dir/ /destination/dir/
Vous pourrez ainsi examiner les modifications avant de les appliquer et éviter toute perte accidentelle de données.
Référence
Pour plus de détails, consultez la documentation officielle :