Kennisbank › Backup Herstel › rsync: Sauvegarde et restauration
backup herstel starter 23 September 2026

rsync: Sauvegarde et restauration

rsync – Sauvegarde et restauration rsync est un outil puissant et polyvalent pour copier des fichiers, tant en local qu'à distance. Il est conçu pour être

rsync – Sauvegarde et restauration

rsync est un outil puissant et polyvalent pour copier des fichiers, tant en local qu'à distance. Il est conçu pour être efficace, rapide et économe en bande passante, ce qui en fait un outil standard dans le monde de la sauvegarde et de la restauration de données. Son nom est une contraction de « remote sync », ce qui indique déjà que le programme est principalement destiné à synchroniser des fichiers entre systèmes — que ce soit via un réseau, une connexion SSH ou un démon rsync. rsync est largement utilisé dans les environnements Linux, mais il est également disponible sur d'autres systèmes d'exploitation, ce qui en fait une solution universelle pour la gestion des données.

L'une des caractéristiques principales de rsync est sa capacité à ne transférer que les différences entre les fichiers source et destination. Cela se fait via le fameux algorithme de « delta-sync ». Au lieu de recopier un fichier entier lorsqu'il a été modifié, rsync analyse quelles parties du fichier ont changé et ne transfère que ces morceaux. Cela réduit la quantité de données à déplacer, ce qui permet à la fois de gagner du temps et de réduire la charge réseau. Cela rend rsync particulièrement adapté aux sauvegardes régulières, où souvent seule une petite partie des données a été modifiée depuis la sauvegarde précédente.

rsync prend en charge plusieurs méthodes pour copier des fichiers. La première est la copie locale, où la source et la destination se trouvent sur la même machine. La syntaxe est simple : `rsync [options] source destination`. En outre, rsync peut copier des fichiers via un shell distant, comme SSH. Cela est souvent utilisé pour synchroniser des fichiers en toute sécurité entre machines sur un réseau. Dans ce cas, la connexion SSH est utilisée pour l'authentification et le chiffrement, ce qui offre un haut degré de sécurité. Exemple : `rsync -avz /home/utilisateur/ utilisateur@serveur:/backups/`. Ici, l'option `-z` assure la compression pendant le transfert, et `-a` active le mode archive, qui préserve entre autres le propriétaire, le groupe et les horodatages.

Une troisième méthode est l'utilisation du démon rsync. Dans ce scénario, rsync tourne comme un service en arrière-plan, qui écoute sur un port spécifique (port 873 par défaut). Le démon offre des transferts plus rapides que SSH, car aucune session shell n'est démarrée et aucun chiffrement n'est appliqué, sauf si configuré explicitement. Pour les solutions de sauvegarde où la sécurité est moins critique ou où la connexion est déjà sécurisée (par exemple au sein d'un réseau sécurisé), cela peut être un choix efficace. L'accès au démon est régi par le fichier de configuration `rsyncd.conf`, qui se trouve généralement dans `/etc/rsyncd.conf`. Dans ce fichier, des modules sont définis, chacun représentant un répertoire spécifique mis à disposition via le démon. Pour chaque module, des paramètres tels que les droits de lecture et d'écriture, l'authentification et la journalisation peuvent être configurés.

Pour les cas où le chiffrement est requis lors de l'utilisation du démon rsync, l'utilitaire `rsync-ssl` existe. Ce script permet de se connecter à un démon rsync qui exige SSL. Le script fonctionne comme un wrapper autour de rsync et assure une connexion sécurisée. Il exige que le serveur cible exécute un démon rsync avec support SSL et que les arguments appropriés soient fournis, comme un nom d'hôte avec double deux-points (`host::module`) ou une URL `rsync://`. Le port par défaut pour les connexions SSL peut être ajusté via des options dans le script. Bien que `rsync-ssl` ne soit pas installé par défaut dans toutes les distributions, il est disponible dans la distribution officielle rsync de Samba.org.

Lors de l'utilisation de rsync pour des sauvegardes, plusieurs options sont souvent combinées pour créer une solution robuste et fiable. L'option `-a` (archive) est l'une des plus utilisées, car elle combine plusieurs options utiles : copie récursive, préservation des liens symboliques, propriétaires, groupes, permissions et horodatages. L'option `-v` (verbose) fournit une sortie détaillée, utile pour suivre la progression. Pour des transferts plus rapides, `-z` est souvent utilisé pour appliquer la compression, particulièrement utile lors de la copie de fichiers texte ou de fichiers journaux.

Un complément souvent utilisé à rsync est l'option `--delete`, qui supprime les fichiers dans la destination qui ne sont plus présents dans la source. Cela assure une véritable synchronisation, où la destination devient une copie exacte de la source. Cette option doit toutefois être utilisée avec prudence, car une mauvaise configuration peut entraîner une perte de données involontaire. Il est donc recommandé d'effectuer d'abord une simulation avec `--dry-run`, afin de pouvoir examiner les conséquences des commandes sans apporter de modifications réelles.

rsync est également parfaitement adapté aux sauvegardes incrémentielles. En utilisant des liens durs (par exemple via des outils comme `rsnapshot`), une série de sauvegardes peut être stockée où les fichiers inchangés ne sont physiquement stockés qu'une seule fois sur le disque. Cela économise de l'espace et permet de conserver plusieurs versions historiques sans croissance exponentielle de l'espace de stockage. Dans une telle configuration, rsync est utilisé pour copier les données les plus récentes, tandis que les fichiers inchangés sont copiés sous forme de liens durs vers les sauvegardes précédentes.

Pour les sauvegardes automatisées, rsync est souvent combiné avec cron, le planificateur de tâches standard dans les systèmes de type Unix. En plaçant une commande rsync dans une tâche cron, une sauvegarde peut être exécutée automatiquement à un moment fixe, par exemple quotidiennement ou hebdomadairement. Il est important ici d'utiliser une authentification sans mot de passe, généralement via des clés SSH. L'utilisation de mots de passe dans les scripts est déconseillée, mais lorsqu'elle est inévitable, `sshpass` peut être utilisé pour transmettre un mot de passe de manière non interactive. C'est moins sécurisé que les clés SSH, mais cela peut être utile dans des environnements restreints où l'authentification par clé n'est pas disponible.

Un autre aspect de la gestion robuste des sauvegardes est la prévention de plusieurs instances simultanées de rsync. Si une sauvegarde dure plus longtemps que prévu et que la tâche cron suivante démarre déjà, des conflits peuvent survenir. Pour éviter cela, des outils comme `run-one` peuvent être utilisés. `run-one` est un wrapper qui garantit qu'une seule instance d'une commande donnée est exécutée à la fois. Cela évite les chevauchements et les dommages potentiels aux fichiers ou aux connexions réseau. Des variantes comme `run-one-until-success` ou `run-one-constantly` offrent un contrôle supplémentaire, selon le comportement souhaité.

Bien que rsync lui-même n'offre pas de chiffrement lors de l'utilisation du mode démon, il est crucial de prendre au sérieux la sécurité du transfert. Dans les réseaux ouverts, une connexion sécurisée doit toujours être utilisée, par exemple via SSH ou `rsync-ssl`. En outre, la configuration de `rsyncd.conf` doit être gérée avec soin, avec des restrictions d'accès correctes et éventuellement une authentification par mot de passe pour des modules spécifiques. Les démons rsync non sécurisés peuvent constituer un risque de sécurité, car ils peuvent donner accès à des fichiers sensibles sans couche d'authentification supplémentaire.

En résumé, rsync est un outil indispensable pour la sauvegarde et la restauration dans les environnements Linux et réseau. Grâce à son efficacité, sa flexibilité et son large soutien, c'est l'outil de choix pour les administrateurs système qui ont besoin de solutions fiables, rapides et automatisées. Qu'il s'agisse de copier des fichiers de configuration, de synchroniser du contenu web ou de créer des sauvegardes système complètes — rsync offre la fonctionnalité pour le faire de manière évolutive et sécurisée. Avec la bonne configuration et des outils complémentaires comme `rsync-ssl`, `run-one` et les clés SSH, rsync constitue la base d'une stratégie moderne de protection des données.

← Terug naar kennisbank
← Terug naar kennisbank