Sauvegarder un serveur Linux vers un NAS Synology avec Rsync

Linux server replicating data to a Synology NAS using rsync

Dans tout parc informatique, la mise en place d’une politique de sauvegarde fiable est essentielle. Les serveurs de stockage en réseau Synology s’intègrent particulièrement bien dans un environnement Linux grâce au support natif du protocole rsync. Cet outil standard permet des transferts différentiels rapides tout en préservant l’intégrité des données et les attributs de fichiers.

1. Préparation du NAS Synology (DSM)

Avant d’envoyer des flux de données depuis votre machine Linux, vous devez activer les services adéquats sur DSM :

  • Rendez-vous dans le Panneau de configuration > Services de fichiers > onglet rsync.
  • Cochez la case Activer le service rsync.
  • Créez ou sélectionnez un dossier partagé de destination (par exemple NetBackup) et accordez les droits d’écriture à un utilisateur dédié.
  • Pour des raisons de sécurité évidentes en production, activez le service SSH (port standard 22 ou personnalisé) pour chiffrer vos flux.

2. Configuration de l’authentification sans mot de passe

Pour qu’un script puisse s’exécuter en tâche de fond la nuit sans intervention humaine, le serveur source doit s’authentifier par clé publique/privée auprès du Synology :

  • Générez une paire de clés sur votre machine source avec ssh-keygen -t ed25519.
  • Transférez la clé publique sur le NAS avec la commande ssh-copy-id -i ~/.ssh/id_ed25519.pub [email protected].
  • Vérifiez la connexion directe via SSH sans invite de mot de passe avant d’aller plus loin.

3. La commande de synchronisation rsync

Une sauvegarde classique de répertoire système (par exemple les zones DNS dans /var/named/) s’articule autour d’une commande optimisée :

rsync -avz –delete -e ssh /var/named/ [email protected]:/volume1/NetBackup/dns2/named/

Détail des commutateurs utilisés :

  • -a (archive) : préserve les permissions, les timestamps, les propriétaires, les groupes ainsi que chaque lien symbolique linux rencontré.
  • -v (verbose) : affiche le détail des actions pour faciliter la relecture dans les journaux.
  • -z (compress) : compresse les flux réseau pour limiter la saturation de la bande passante.
  • –delete : supprime du dossier de destination les fichiers effacés de la source, maintenant une réplique exacte.
  • Attention au slash final : spécifier /var/named/ copie le contenu du dossier, tandis que /var/named copierait le dossier parent lui-même.

4. Automatisation quotidienne avec Crontab

Pour rendre la sauvegarde autonome, intégrez la commande au planificateur de tâches Linux via crontab -e (de préférence sous le compte root pour avoir accès en lecture à tous les fichiers système).

Pour planifier une exécution quotidienne à 2h00 du matin du lundi au samedi, insérez la ligne suivante :

0 2 * * 1-6 /usr/bin/rsync -avz –delete -e ssh /var/named/ [email protected]:/volume1/NetBackup/dns2/named/ >> /var/log/backup-syno.log 2>&1

Notez la spécification du chemin absolu /usr/bin/rsync : lors de l’exécution d’un cron, le contexte d’environnement est réduit, et chaque variable d’environnement Unix comme le PATH standard peut ne pas contenir tous vos exécutables habituels.

5. Vérification et supervision

Rediriger la sortie vers un journal dédié permet de s’assurer du bon déroulement des copies. En cas d’anomalie ou d’alerte, vous pouvez facilement analyser vos journaux d’erreurs ou chercher une chaine dans tous les fichier linux de logs afin d’identifier rapidement un problème d’espace disque saturé ou une rupture de connectivité réseau.

À lire aussi