Introduction
Lorsque l’on possède un NAS, la sauvegarde externe est une étape indispensable pour protéger ses données (photos, documents, projets pro…). Dans un précédent article, je vous avais confié que j’avais changé ma configuration pour abandonner mon ancien NAS Synology au profit de la marque UGREEN.
J’ai toujours eu pour habitude de mettre en place une sauvegarde des dossiers les plus importants de mon NAS vers Azure sur un Storage Account configuré en Cold storage. Sur Synology, vous disposez d’une application qui permet de le faire en revanche sur UGREEN il faut utiliser la ligne de commande.
Plusieurs solutions existent : AzCopy (l’outil officiel Microsoft), les SDKs Azure, ou encore des applications tierces. Mais dans la pratique, j’ai retenu Rclone, une petite pépite open source qui permet de synchroniser un NAS vers le cloud de manière simple, rapide et flexible.
Dans cet article, je vous explique comment j’ai mis en place la sauvegarde de mon UGREEN NASync DXP2800 vers Azure Blob Storage.
Pourquoi Rclone plutôt que AzCopy ?
- AzCopy est puissant mais conçu pour du one-shot (upload massif, migration). Il n’offre pas de planification native.
- Rclone fonctionne comme un rsync pour le cloud :
- multi-cloud (Azure, pCloud, OneDrive, Microsoft OneDrive, Google Drive, etc.)
- peut faire du copy (ajout uniquement) ou du sync (miroir exact)
- intégrable facilement dans un script ou une tâche planifiée
Résultat : j’ai un seul outil qui gère plusieurs cibles de sauvegarde. C’est plutôt un outil qui s’utilise en ligne de commande mais si vous le souhaitez il existe également une GUI (interface graphique) si vous êtes plus à l’aise à la souris. 🐭
Si vous préférez un site Internet (local), vous pouvez également utiliser la commande suivante sur votre macOS ou le Terminal de Windows pour lancer une interface web qui vous permettra de configurer vos tâches de copies et de synchronisations.
rclone rcd --rc-web-gui
Installation de Rclone sur UGREEN NASync DXP2800
Le DXP2800 tourne sous UGOS (UGREEN OS), basé sur Linux (une distribution debian-based). On peut donc utiliser le gestionnaire de package APT pour installer un nouveau module ou simplement suivre la documentation du site de l’éditeur en utilisant la commande suivante :
sudo -v ; curl https://rclone.org/install.sh | sudo bash
Vérifier que tout est bien en place :
which rclone
# /usr/bin/rclone
Configuration des tâches de copies et de synchro
Rclone fonctionne avec des remotes (alias vers des stockages cloud). Il est capable de copier ou de synchroniser. Dans le premier cas, c’est plutôt un backup ce qui signifie que votre destination n’est jamais purgée même si vous supprimer des fichiers dans votre source. En revanche, la synchronisation c’est vraiment dans la logique de maintenir la source et la cible à l’identique.
On utilise une URL SAS (Shared Access Signature) générée dans le portail Azure.
Pour démarrer la création d’une nouvelle tâche de synchro/copie RCLONE. Utilisez l’assistant avec la commande suivante :
rclone config
Vous allez devoir répondre à quelques questions pour configurer votre tâche de copie/synchro en choisissant Azure. Afin de vous montrer la configuration en mode CLI, je vais me passer d’interface graphique ou site web ci-dessous.
Vous voyez que l’outil gère énormément d’outils de stockage ! 👌
Vous pouvez laisser la plupart des réglages avec leurs options par défaut (c’est-à-dire rien du tout ou vide). Ce qui va être important c’est de configurer l’URL que vous avez précédemment générée.
Continuez à passer les autres options. Si c’est bon, vous devriez avoir un fichier de configuration dans votre profil utilisateur à l’emplacement suivant : ~/.config/rclone/rclone.conf (remplacez par l’URL que vous avez obtenu ci-dessus).
[azure]
type = azureblob
sas_url = https://moncompte.blob.core.windows.net/moncontainer?sp=racwdli&st=...&se=...&sig=...
Tester la tâche de sauvegarde
Une fois que vous êtes prêt, globalement pour démarrer une tâche de synchro/copie, vous allez utiliser la ligne suivante :
rclone sync /volume1/PHOTOS azure:tibonas3/PHOTOS --azureblob-access-tier cool --transfers 8 --checkers 16 --buffer-size 64M --progress --log-level INFO --log-file "$LOGDIR/rclone_photos_$DATE.log"
Ci-dessus je synchronise mon point de montage PHOTOS vers mon Storage Account dans un sous-dossier du même nom. ⬆️
Vous n’êtes pas obligé de configurer les paramètres avancés comme je l’ai fait avec notamment –transfers, –checkers, etc. L’idée c’est d’optimiser la quantité d’informations que mon NAS copie ou synchronise considérant que je suis fibré. Même chose : vous n’êtes pas obligé de retenir les logs (mais perso j’aime bien si je dois diagnostiquer plus tard).
Automatisation via tâche CRON
L’objectif va maintenant être d’automatiser mes tâches de synchronisation afin que je n’ai plus besoin de m’en occuper. Pour ce faire, je vais simplement paramétrer une tâche CRON pour l’exécution de mon script qui fait appelle à mes différentes tâches rclone. J’ai choisi de placer le script dans /home/thibault/rclone/azure-sync.sh (mais vous pouvez bien sûr adapter).
Ci-dessus on voit que je synchronise 3 partitions de mon NAS appelées PHOTOS, TEMP et PERSO. Le but : envoyer mes dossiers PHOTOS, PERSO, PRO vers Azure.
Une fois que c’est fait, vous pouvez créer une nouvelle ligne (ou plusieurs selon le nombre de fois où vous souhaitez lancer vos tâches de sync/copy). Dans mon cas, j’exécute cette tâche de synchronisation à 10h45 le matin, tous les jours.
thibault@TIBONAS3:~/rclone$ sudo crontab -l
45 10 * * * /home/thibault/rclone/azure-sync.sh
Une fois complet, le script donne ça :
#!/bin/bash
# backup_nas.sh — Sauvegarde NAS -> Azure & pCloud (rclone copy)
# Forcer rclone à utiliser le bon fichier de config même lancé par root
export RCLONE_CONFIG="/home/thibault/.config/rclone/rclone.conf"
LOGDIR="/home/thibault/rclone"
mkdir -p "$LOGDIR"
DATE=$(date +"%Y-%m-%d_%H-%M")
COMMON_OPTS="--transfers 8 --checkers 16 \
--buffer-size 64M \
--progress --log-level INFO"
# PHOTOS -> Azure
rclone copy /volume1/PHOTOS azure:tibonas3/PHOTOS \
--azureblob-access-tier cool \
$COMMON_OPTS --log-file "$LOGDIR/rclone_photos_$DATE.log"
# PERSO -> Azure
rclone copy /volume1/PERSO azure:tibonas3/PERSO \
--azureblob-access-tier cool \
$COMMON_OPTS --log-file "$LOGDIR/rclone_perso_$DATE.log"
echo "Backup terminé le $DATE (logs dans $LOGDIR)"
# Remettre la propriété des logs à l’utilisateur
chown thibault:admin "$LOGDIR"/*_$DATE.log
👉 Pourquoi root ? Parce que l’utilisateur normal (thibault) n’a pas les droits d’écriture dans /var/spool/cron/ sous UGOS. En ajoutant export RCLONE_CONFIG=… dans le script, on force rclone à utiliser la config de thibault même si cron l’exécute en root. C’est un autre élément de jeunesse des NAS UGREEN qui sera certainement mis à jour ultérieurement – mais au final tout fonctionne parfaitement. 👍
Conclusion
En quelques lignes de configuration, mon UGREEN NASync DXP2800 sauvegarde désormais automatiquement mes données vers le cloud. J’ai choisi Azure pour le stockage « long terme » mais j’utilise également mon compte pCloud pour un miroir plus interactif.
La flexibilité de Rclone m’a permis de construire exactement le workflow dont j’avais besoin — là où AzCopy seul aurait été trop limité. Et le mieux, c’est que la méthode fonctionne aussi avec d’autres clouds (Google Drive, OneDrive, Amazon S3…). De quoi transformer un simple NAS en véritable hub de sauvegarde multi-cloud.