Lazer Posté(e) le 11 juillet 2020 Signaler Posté(e) le 11 juillet 2020 (modifié) 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. Modifié le 7 février par Lazer 7
mprinfo Posté(e) le 11 juillet 2020 Signaler Posté(e) le 11 juillet 2020 Cool ça me rappelle quelques choses ça Joli travail Envoyé de mon BLA-L29 en utilisant Tapatalk
mprinfo Posté(e) le 11 juillet 2020 Signaler Posté(e) le 11 juillet 2020 Après un test cela fonctionne j'ai un peu galéré car je croyais que tu avais mis le mot de pas admin:admin " YWRtaW46YWRtaW4=" et ben non On peut aussi dire que ce script fonctionne sous linux avec un cron Backup Fibaro Home Center : Saturday 11/07/2020 16:56:03 Sauvegarde... ........................................................................ Sauvegarde terminée Téléchargement de backup_HC3-0000XXXX_2020_07_11-16_56_25.fbi... % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 0 0 0 0 0 0 0 0 --:--:-- --:--:-- --:--:-- 0 100 635k 100 635k 0 0 7932k 0 --:--:-- --:--:-- --:--:-- 8039k Téléchargement terminé Pas de reboot du Home Center Backup terminé avec succès : Saturday 11/07/2020 16:57:57
Lazer Posté(e) le 11 juillet 2020 Auteur Signaler Posté(e) le 11 juillet 2020 Je m'auto-cite : par exemple pour admin:password cela donne "YWRtaW46cGFzc3dvcmQ=" OK donc une fois de plus, tu ne lis pas ce que j'écris ..... triste, je suis J'allais ajouter que pour tester directement le script, le mieux est de se connecter en SSH et d'exécuter le script directement en ligne de commande, cela permet de voir l'état d'avancement en temps-réel. 1
mprinfo Posté(e) le 11 juillet 2020 Signaler Posté(e) le 11 juillet 2020 Oups désolé j'ai pas saisi l'auto citeAprès c'est du détail. Envoyé de mon BLA-L29 en utilisant Tapatalk
kioneoranga Posté(e) le 11 juillet 2020 Signaler Posté(e) le 11 juillet 2020 Ce script ne marche que pour la hc3?Est il possible de l'utiliser pour la hc2?Envoyé de mon HD1903 en utilisant Tapatalk
kioneoranga Posté(e) le 12 juillet 2020 Signaler Posté(e) le 12 juillet 2020 Tout est dans le titre. LoLJ'avais bien lu le titre, mais sait on jamais Envoyé de mon HD1903 en utilisant Tapatalk
jjacques68 Posté(e) le 12 juillet 2020 Signaler Posté(e) le 12 juillet 2020 @Lazer : c'est tiptop installé et en fonction tous les matin à 02h00... merci !!! remarque ... je vais faire mon chieur : J'ai galéré un peu car j'ai des noms d'espaces dans les chemins d'accès : donc dans les paramètres de la tâche sur le NAS, il faut encadrer les chemins par des "" . Dans le script shell, ligne 73 et 78, il faut ajouter également les "" autour de ${NAS_PATH} # Check destination directory if [ ! -d "${NAS_PATH}" ] then Error "Erreur : le répertoire de destination '${NAS_PATH}' n'existe pas" Quit 2 fi cd "${NAS_PATH}" Ensuite c'est con mais j'ai utilisé comme login:user, mon adresse mail comme pour me connecter en temps normal, et il a pas aimé, faut bien utiliser le user admin.
mprinfo Posté(e) le 12 juillet 2020 Signaler Posté(e) le 12 juillet 2020 @jjacques68 si tu avais bien lu le tutos tu n'aurais pas eu de soucis CF: conversation avec @lazer hier 1
mprinfo Posté(e) le 12 juillet 2020 Signaler Posté(e) le 12 juillet 2020 Il y a 11 heures, kioneoranga a dit : Ce script ne marche que pour la hc3? Est il possible de l'utiliser pour la hc2? Envoyé de mon HD1903 en utilisant Tapatalk je ne pense pas mais on peut faire la même chose sur hc2 je pense... enfin j'en suis même sur si tu maitrises le shell linux c'est pas très compliquer a faire. Je dis cela mais je serais incapable de le faire
Lazer Posté(e) le 12 juillet 2020 Auteur Signaler Posté(e) le 12 juillet 2020 @kioneoranga l'API a légèrement évolué entre HC2 et HC3. Je t'ai partagé en bonus le script pour la HC2 à la fin du tuto. @jjacques68 - Espace dans les chemins : en effet, merci pour la correction, j'ai mis à jour le script dans le tuto pour intégrer ce correctif. De mon coté j'ai pris pour habitude de ne jamais mettre d'espace dans les noms de chemins/fichiers sous Unix. Les accents ne posent plus de problème depuis le passage à l'Unicode, mais les espaces et un certains nombres de caractères spécieux tels que les guillemets posent toujours problème. - User : j'ai rajouté une précision dans le tuto indiquant que l'utilisateur devait avoir les droits Administrateur. De mon coté, ça fait longtemps que je n'utilise plus "admin" et qu'il a été renommé. 1
mprinfo Posté(e) le 12 juillet 2020 Signaler Posté(e) le 12 juillet 2020 Idem jamais d'espace ni d'accent une habitude que j'ai eu sous DOS Envoyé de mon BLA-L29 en utilisant Tapatalk 1
jjacques68 Posté(e) le 28 juillet 2020 Signaler Posté(e) le 28 juillet 2020 @Lazer : je vais faire une demande (pas en mariage ) : penses tu qu'il est possible de glisser dans le nom du fichier de backup, le numéro du firmware correspondant ? ou alors de créer une arborescence en fonction du firmware ? je me dis que ça permettrait en cas de retrogradage, de pouvoir savoir en quelle version était ce backup... après j'ai aucune idée de la complexité de ma demande... Si tu as un peu de temps et que tu pense que c'est utile, et pas trop compliqué à faire... ce serait avec plaisir ! merci !
Lazer Posté(e) le 28 juillet 2020 Auteur Signaler Posté(e) le 28 juillet 2020 C'est possible oui, même si je n'en vois pas l'intérêt. Pour moi ce script sert à externaliser les backups en cas de crash violent de la HC3. Pour le problème qui te concerne, en cas de firmware buggé nécessitant un retour arrière, tu t'en rends compte tout de suite, il suffit de restaurer le dernier backup cloud effectué par la box juste avant la mise à jour, ou bien l'un des 3 derniers backups locaux stockés sur la HC3. Je ne vois pas bien dans quelle situation on pourrait nécessiter de revenir en arrière plusieurs semaines/mois après ?!? Pour tout dire, ça m'est arrivé une fois avec la HC2, j'ai dû retourner en arrière 3 semaines, non pas à cause d'un firmware, mais à cause d'une corruption de la base de données des modules Z-Wave. Du coup, le firmware n'avait aucune importance. Je vais essayer de faire ça, mais pas tout de suite.... pas trop le temps en ce moment.
mprinfo Posté(e) le 28 juillet 2020 Signaler Posté(e) le 28 juillet 2020 Il y a 3 heures, jjacques68 a dit : @Lazer : je vais faire une demande C'est mignon tout plein une belle histoire linuxienne qui commence if @lazer fi @jjacques68 je vous souhaite un amour while true 2
Nico Posté(e) le 28 juillet 2020 Signaler Posté(e) le 28 juillet 2020 Microsoft béni ce mariage... 1 1
jjacques68 Posté(e) le 31 juillet 2020 Signaler Posté(e) le 31 juillet 2020 alors comportement étrange, depuis quelques jours, le backup se fait mais j'ai une alerte du NAS que me dit qu'il a pas pu rebooter la box. Je suis tombé au-delà des 10 min de timeout. Et le fichier n'est pas copié sur le NAS. J'ai monté à 12 min pour voir, idem... Je télécharge manuellement un fichier de backup depuis la HC3, et oh ! surprise ils dépassent 25 Mo !!!!! Alors que depuis le début je tourne entre 5 Mo et 7 Mo. Et ça depuis que ma box à commencé à crasher (les derniers crash étaient volontaires afin de comprendre le pourquoi du comment - voir sujet dans topic dédié à la mise à jour). J'ai donc restauré la dernière sauvegarde qui était encore de taille normal (dans le nouveau firmware), et là c'est ok... un mystère de plus...
Lazer Posté(e) le 31 juillet 2020 Auteur Signaler Posté(e) le 31 juillet 2020 hum, tu aurais eu une corruption de ta DB alors, qui l'aurait fait gonfler ? Tu devrais peut-être demander au support de se connecter et jeter un oeil
jjacques68 Posté(e) le 31 juillet 2020 Signaler Posté(e) le 31 juillet 2020 oui pourquoi, pas y a une procédure qqpart pour prendre contact avec eux ? jamais fais...
Lazer Posté(e) le 31 juillet 2020 Auteur Signaler Posté(e) le 31 juillet 2020 email : support@fibaro.com 1
jjacques68 Posté(e) le 2 août 2020 Signaler Posté(e) le 2 août 2020 bon, je contacte le support technique, en 2 jours, la backup est monté de 5 Mo ! J'ai quand même pas tapé pour 5 Mo de ligne de code !
Lazer Posté(e) le 2 août 2020 Auteur Signaler Posté(e) le 2 août 2020 Des logs peut être ? Depuis le dernier firmware, le panneau d'événements remonte beaucoup plus d'informations. S'ils n'ont pas adapté la politique de purge automatique, ça pourrait expliquer la croissance de la DB. En espérant que ça ne soit pas un autre souci plus grave. Mais oui, il faut demander au support.
jjacques68 Posté(e) le 2 août 2020 Signaler Posté(e) le 2 août 2020 chose faite. J'ai reçu un lien sur Fibaro Customer Care, auquel j'ai du m'inscrire. Ma demande a visiblement automatiquement ouvert un ticket. à suivre...
Messages recommandés