Potion Bottle Icon Manuel d'alchimie du code Potion Bottle Icon

Sauvegarder son NAS Asustor vers rsync.net via rsync et cron

- 875 mots - Temps de lecture estimé: 5 minutes


Sun Face IconComment sauvegarder un NAS Asustor vers rsync.net ?Sun Face Icon


Génère une clé SSH, copie-la sur rsync.net, écris un script rsync avec tes paires de dossiers distant/local, planifie-le avec cron sur le NAS. Le tout est automatisé, chiffré en transit et prêt à l’emploi.

J’avais besoin d’une solution de sauvegarde hors site pour mon NAS Asustor. rsync.net offre un espace de stockage à distance accessible par SSH/SFTP/rsync, facturé à l’usage et sans limite de volume. Parfait pour du off-site.

Cet article vient en complément de mes précédents guides sur Borg Backup — ma solution principale de sauvegarde chiffrée et dédupliquée. Là où Borg gère l’archivage versionné de mes serveurs YunoHost, rsync par cron me permet de synchroniser des dossiers supplémentaires (fichiers plats, exports, médias) depuis le NAS vers le même espace rsync.net. Les deux cohabitent sans s’écraser : chacun utilise son propre répertoire distant. Si tu utilises déjà Borg, tu ajoutes ici une couche de sauvegarde complémentaire, chiffrée en transit par SSH. Une façon simple de couvrir plus de surface sans alourdir l’infrastructure.

C’est aussi une application concrète de la règle 3-2-1 que je détaille dans Pleine Confiance : une copie locale sur le NAS, une copie externe (voir mon guide sur la sauvegarde externe Asustor) et une copie hors site chez rsync.net.

Tu veux aller plus loin avec Borg et YunoHost ? J’ai écrit :

Si tu débutes avec rsync, je te suggère d’abord de lire mon introduction aux sauvegardes avec rsync qui explique les options de base et le mode archive.

Voici comment j’ai connecté rsync manuellement en parallèle.

🌘 Générer une clé SSH

Sur le NAS, ouvre un terminal (Shell in a Box ou SSH) et génère une paire de clés :

ssh-keygen -t rsa -b 4096

Laisse le chemin par défaut (~/.ssh/id_rsa). Ajoute une passphrase si tu veux — dans ce cas, tu devras utiliser ssh-agent pour les scripts automatisés (voir plus bas).

Même principe que la clé Ed25519 que j’utilise pour Borg, mais avec une clé RSA dédiée à ce script rsync sur le NAS.

🌘 Copier la clé sur rsync.net

Transfère ta clé publique en une seule commande :

cat ~/.ssh/id_rsa.pub | ssh u12345@u12345.rsync.net "dd of=.ssh/authorized_keys oflag=append conv=notrunc"

Remplace u12345 par ton vrai nom d’usager rsync.net. Tu devras entrer ton mot de passe une dernière fois. Si tu as déjà configuré Borg sur le même compte, tu peux ajouter cette clé en complément de celle existante — rsync.net accepte plusieurs clés dans authorized_keys. Tu trouveras la procédure détaillée dans mon article sur Borg et rsync.net.

🌘 Structurer les dossiers côté NAS

Choisis un répertoire racine pour tes sauvegardes locales, par exemple :

mkdir -p /volume1/sauvegardes

Sur rsync.net, chaque dossier que tu veux synchroniser correspond à un répertoire source. Dans mon cas : aula/, dalias/, jevalideca/, service/.

🌘 Script de synchronisation paramétrable

J’ai écrit un script réutilisable qui lit une liste de paires distant local depuis un fichier de configuration. C’est une version plus structurée du principe que j’explique dans mon guide général sur rsync, adaptée à la gestion de plusieurs répertoires.

→ Récupère le script ici : scripts/rsync-net-pull.sh

Crée ensuite le fichier de paires à côté, par exemple scripts/rsync-pairs.conf :

# Format : dossier_distant  dossier_local
aula/      /volume1/sauvegardes/aula/
dalias/    /volume1/sauvegardes/dalias/
jevalideca/ /volume1/sauvegardes/jevalideca/
service/   /volume1/sauvegardes/service/

Teste le script manuellement :

REMOTE_USER=u12345 ./scripts/rsync-net-pull.sh

Si tu as protégé ta clé par une passphrase, ajoute ces lignes avant la cron pour charger l’agent :

eval $(ssh-agent)
ssh-add ~/.ssh/id_rsa

Sinon, la connexion sera bloquée.

🌘 Automatiser avec cron

Ajoute une tâche cron pour une exécution quotidienne :

crontab -e

Ajoute la ligne suivante (par exemple à 3h du matin) :

0 3 * * * REMOTE_USER=u12345 CONFIG_FILE=/volume1/sauvegardes/rsync-pairs.conf /volume1/sauvegardes/rsync-net-pull.sh >> /volume1/sauvegardes/rsync-cron.log 2>&1

Sur Asustor, tu peux aussi utiliser l’interface Task Scheduler (Panneau de configuration → Task Scheduler) si tu préfères une gestion graphique.

Tu peux trouver ce script et un gabarit de configuration dans le dépôt sous scripts/rsync-net-pull.sh et scripts/rsync-pairs.conf. Ils sont conçus pour être branchés sur n’importe quel serveur rsync.net avec un minimum d’adaptation.

Cette automatisation s’intègre dans une stratégie plus large : je te suggère de consulter le plan de sauvegarde Pleine Confiance pour structurer l’ensemble de tes copies (locale, externe et hors site) et le guide de chiffrement des disques si tu transportes des sauvegardes physiques. Et si tu administres un serveur YunoHost, tu peux étendre cette approche à l’ensemble de tes applications avec le script Borg avancé.

Abonne-toi au fil RSS pour ne rien manquer.

Étiquettes