Sauvegarde Home Center 3
sur NAS Synology
Version 3.22 - Janvier 2024
Voici un script Shell à installer sur un NAS Synology, permettant d'automatiser la sauvegarde de la box Home Center 3.
La sauvegarde est externalisée et stockée sur le NAS.
Un rapport par email est envoyé, ainsi qu'une notification dans l'interface Web de DSM.
Installation
Télécharger le fichier backup-hc3.sh ci-joint, et le copier sur le NAS.
Modifier le script afin de paramétrer les options suivantes :
HC3 Address
HC3_ADDRESS : Adresse IP de la HC3. Par exemple "192.168.1.1"
HC3 Authentication : echo -n 'user:password' | base64 ou https://www.base64encode.org/
HC3_AUTHENTICATION : Identifiants de connexions encodés en base64. Utiliser le site https://www.base64encode.org/ par exemple pour admin:password cela donne "YWRtaW46cGFzc3dvcmQ=". L'utilisateur doit avoir les droits "Administrateur" sur la box.
HC3 Backup History
HC3_BACKUP_HISTORY : doit prendre la valeur "YES" afin de sauvegarder l'historique. Si la sauvegarde est trop longue ou trop grosse, il est possible de désactiver la sauvegarde de l'historique en attribuant n'importe quelle autre valeur à cette variable, par exemple "NO".
HC3 Global Variable
HC3_VARIABLE_NAME : nom d'une variable à tester pour bloquer le déclenchement de la sauvegarde, par exemple "Vacances"
HC3_VARIABLE_IS_VALUE : valeur que doit avoir la variable éventuellement définie pour déclencher la sauvegarde, par exemple "0"
HC3 Active Profile (on peut filtrer sur aucun profil, 1 seul, ou les 2, dans ce dernier cas c'est un ET logique qui est effectué, c'est à dire que les 2 conditions doivent être vraies) :
HC3_PROFIL_IS_VALUE : ID du profil actif permettant de déclencher la sauvegarde. Si le profil actif est égal à cette valeur, alors la sauvegarde est démarrée.
HC3_PROFIL_NOT_VALUE : ID du profil qui ne doit pas être actif pour déclencher la sauvegarde. Si le profil actif est égal à cette valeur, alors la sauvegarde est bloquée.
NAS
NAS_PATH : chemin complet sur le NAS dans lequel copier le fichier sauvegarder, normalement il s'agit du même répertoire qui contient le script, par exemple "/volume1/backup/HC3"
Email
MAIL_FROM : adresse email source, par exemple : "HC3 <moi@domaine.com>"
MAIL_TO : adresse email cible, par exemple "Moi <moi@domaine.com>"
MAIL_SUBJECT : titre de l'email, par exemple "Backup HC3"
Notification
NOTIF_TO : destinataire des notifications sur le NAS, par exemple "@administrators"
NOTIF_TITLE : titre de la notification, par exemple "Sauvegarde"
Backup timeout
TIMEOUT : durée maximale en secondes de la sauvegarde autorisée avant que le script ne considère que la box est plantée, par exemple pour 10 minutes : 600
Reboot
CLEAN_REBOOT : focer un reboot complet de la box après chaque sauvegarde, valeur par défaut "No"
FORCE_REBOOT : forcer le reboto de la box si les services n'ont pas correctement redémarrés après la sauvegarde, valeur par défaut "Yes"
Sur l'interface Web de DSM, ouvrir le Panneau de configuration, sélectionner le Planificateur de tâches, puis Créer / Tâche planifiée / Script défini par l'utilisateur :
Dans l'onglet "Général", taper un nom de tâche et utiliser le compte "admin" :
Dans l'onglet "Programmer", sélectionner un jour et une heure, par exemple chaque dimanche à 3h du matin :
Dans l'onglet "Paramèters de la tâche", entrer l'adresse email destinataire des rapports, et la commande suivante pour exécuter le script (remplacer éventuellement le chemin s'il est différent chez vous) :
set -o pipefail; "/volume1/backup/HC3/backup-hc3.sh" 2>&1 | tee -a "/volume1/backup/HC3/backup-hc3.out"
Utilisation
Attendre...
Lorsque la planification se déclenche, un email est envoyé :
Une notification apparait dans l'interface Web de DSM :
Un nouveau fichier fbi contenant la sauvegarde (chiffrée) est présent sur le NAS, ainsi qu'un fichier journal backup-hc3.out :
Exécution immédiate :
Si on est impatient et qu'on veut tester immédiatement le script, le plus efficace est d'ouvrir une session SSH en ligne de commande (utiliser PuTTY sous Windows) et de l'exécuter directement :
admin@DiskStation:~$ /volume1/backup/HC3/backup-hc3.sh
Backup Fibaro Home Center : Saturday 11/07/2020 19:10:03
Vérification de la valeur de la variable globale 'Vacances'...
Variable globale 'Vacances' = '0' identique à '0' => Sauvegarde
Vérification du profil actif...
Profil actif = '1' => Sauvegarde
Sauvegarde avec historique...
...........................................................................
Sauvegarde terminée
Téléchargement de backup_HC3-00000000_2020_07_11-19_10_28.fbi...
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 794k 100 794k 0 0 8028k 0 --:--:-- --:--:-- --:--:-- 8108k
Téléchargement terminé
Pas de reboot du Home Center
Backup terminé avec succès : Saturday 11/07/2020 19:12:02
(penser à activer préalablement le serveur SSH dans le panneau de configuration de DSM si ce n'est pas déjà fait)
Téléchargement :
backup-hc3.sh
Bonus : script pour HC2 & HCL :
backup-hc2.sh
Pour HC2 à partir du firmware 4.621 : voir script de @speedoxx007 en page 4.