unixmaniax.frLE CARNET DES SYSTÈMES UNIX

Linux / Rsync

Rsync : copier ses données sans mauvaises surprises

Rsync est un excellent outil de copie. Pour en faire un maillon fiable de votre sauvegarde, il faut maîtriser le sens du transfert, les métadonnées et les suppressions.

01. Définir ce que l’on copie

Commencez par un répertoire de test contenant quelques fichiers sans valeur. Notez le répertoire source, la destination et le compte qui exécutera la copie. Vérifiez que la destination est réellement montée : un disque absent peut transformer un chemin de sauvegarde en simple dossier sur le disque système.

Une copie de fichiers ouverts n’est pas nécessairement cohérente. Pour une base de données, produisez d’abord un export avec l’outil de la base. Pour une application qui écrit plusieurs fichiers ensemble, prévoyez un arrêt, un gel applicatif ou une méthode de sauvegarde adaptée.

02. Simuler avant de transférer

rsync -ani -- /srv/documents/ /mnt/sauvegarde/documents/

L’option -n simule, -i détaille les changements et -a active le mode archive. Le slash après documents/ signifie « le contenu de ce répertoire ». Sans ce slash, le répertoire lui-même peut être ajouté à la destination. Vérifiez les chemins dans la simulation avant de retirer -n.

rsync -ai -- /srv/documents/ /mnt/sauvegarde/documents/

Le mode archive ne préserve pas automatiquement les ACL, les attributs étendus et les liens physiques. Selon le système de fichiers et les droits disponibles, étudiez -A, -X et -H. Une copie entre deux systèmes différents mérite un essai de restauration des permissions.

03. Choisir une politique de suppression

N’ajoutez pas --delete par habitude. Cette option propage les suppressions de la source vers la destination ; une erreur sur la source peut alors toucher les deux copies. Elle convient à un miroir maîtrisé, avec des versions conservées ailleurs. Rejouez toujours une simulation lorsque vous changez vos exclusions.

Pour un transfert distant, utilisez un compte dédié et SSH avec vérification de la clé du serveur. Les droits sur la destination doivent être limités au besoin réel de la tâche. Évitez de donner au serveur de production la possibilité de supprimer tout l’historique de sauvegarde.

04. Valider une restauration

Consignez le code de retour, la date, la quantité transférée et les anomalies. Un code non nul, y compris un transfert partiel, doit être examiné. Restaurez ensuite un échantillon dans un autre dossier et vérifiez contenu, propriétaire, permissions et ouverture dans l’application.

Enfin, décidez combien de versions garder et où placer une copie indépendante. Un miroir rsync seul ne protège ni contre une suppression propagée ni contre la perte du support. Le protocole de test de restauration permet de vérifier l’ensemble du parcours.

Sources & documentation

Consultez la documentation correspondant à vos versions avant d’appliquer les exemples. Les commandes illustrent la méthode ; elles ne remplacent pas un essai dans votre environnement.