La commande rsync sur Linux est l’un des outils les plus puissants pour la synchronisation des fichiers, en particulier lorsqu’il s’agit de travailler avec des serveurs distants ou de grandes quantités de données. Grâce à son efficacité, rsync optimise l’utilisation de la bande passante en transférant uniquement les fichiers modifiés, ce qui en fait un excellent choix pour toutes sortes de tâches de gestion de fichiers. Dans cet article, nous allons vous présenter des exemples pratiques de commandes rsync que vous pouvez appliquer dans des situations réelles, qu’elles soient locales ou distantes.

1. Synchronisation de Répertoires Locaux

Supposons que vous ayez deux répertoires sur votre machine locale, original/ et duplicate/, et que vous souhaitiez les synchroniser. Cela est utile lors de projets de développement ou simplement pour garder une copie de sauvegarde de vos fichiers.

Commande :

rsync -av original/ duplicate/

Explication :

2. Synchronisation à Distance avec un Serveur

Si vous devez synchroniser des fichiers entre votre machine locale et un serveur distant, rsync est un excellent choix. Imaginons que vous ayez un serveur distant à l’adresse IP 192.168.1.100 et que vous souhaitiez synchroniser le répertoire /home/utilisateur/docs/ avec un dossier sur ce serveur.

Commande :

rsync -av /home/utilisateur/docs/ [email protected]:/home/utilisateur/backup_docs/

Explication :

3. Synchronisation Bidirectionnelle

Parfois, vous voulez garder deux répertoires synchronisés dans les deux sens. Par exemple, si vous travaillez sur deux systèmes différents, un à domicile et un autre au bureau, et que les deux contiennent des fichiers régulièrement modifiés. Pour cela, vous pouvez utiliser rsync pour synchroniser les deux répertoires.

Commande :

rsync -av --ignore-existing directory1/ directory2/
rsync -av --ignore-existing directory2/ directory1/

Explication :

4. Transfert de Fichiers Lourds avec Barre de Progrès

Lors du transfert de fichiers volumineux sur un réseau, il est important de voir l’état d’avancement du transfert. rsync propose l’option -P pour afficher une barre de progrès pendant le transfert de fichiers. De plus, avec --partial, vous pouvez reprendre des transferts interrompus.

Commande :

rsync -azP /home/utilisateur/large_files/ [email protected]:/home/utilisateur/large_files_backup/

Explication :

Cette commande est idéale pour transférer de gros fichiers lorsque la connexion peut être instable ou lorsque vous voulez vous assurer que les données ne sont pas perdues si le transfert est interrompu.

5. Exclure des Fichiers Spécifiques Pendant la Synchronisation

Imaginez que vous souhaitiez synchroniser un répertoire mais exclure certains fichiers, tels que des fichiers temporaires ou de sauvegarde qui n’ont pas besoin d’être transférés. Pour cela, vous pouvez utiliser le modificateur --exclude.

Commande :

rsync -av --exclude='*.bak' --exclude='*.tmp' /home/utilisateur/project/ [email protected]:/home/utilisateur/project_backup/

Explication :

6. Transfert de Fichiers avec Compression et Limitation de la Bande Passante

Si vous transférez des fichiers sur un réseau lent, vous pouvez utiliser l’option --bwlimit pour limiter la bande passante utilisée par rsync pendant le transfert. Cela empêche le transfert de consommer toute la bande passante, ce qui pourrait affecter d’autres tâches sur le réseau.

Commande :

rsync -avz --bwlimit=1000 /home/utilisateur/docs/ [email protected]:/home/utilisateur/docs_backup/

Explication :

7. Synchronisation de Fichiers et Suppression des Éléments Manquants de la Destination

Parfois, vous devez synchroniser un répertoire et supprimer des fichiers dans le répertoire de destination qui ne sont plus présents dans le répertoire source. Pour cela, vous utilisez l’option --delete.

Commande :

rsync -av --delete /home/utilisateur/docs/ [email protected]:/home/utilisateur/docs_backup/

Explication :

8. Créer une Sauvegarde avec Rsync

L’un des principaux avantages de rsync est sa capacité à créer des sauvegardes efficaces. Vous pouvez créer une sauvegarde en combinant --backup avec l’option --dir pour spécifier où seront stockés les fichiers de sauvegarde.

Commande :

rsync -a --delete --backup --backup-dir=/path/to/backup /path/to/SRC [DEST]

Explication :

Conclusion

rsync est un outil incroyablement puissant et flexible que vous pouvez utiliser pour optimiser la synchronisation des fichiers, effectuer des sauvegardes et transférer des données efficacement. Les exemples présentés ici couvrent une large gamme de cas pratiques, de la synchronisation locale au transfert à distance, y compris des configurations réseau complexes. Maîtriser rsync vous permettra d’améliorer considérablement votre flux de travail, de réduire l’utilisation de la bande passante et de garantir que vos données sont toujours synchronisées et sauvegardées.