Sauvegarde simple de Domoticz sur NAS Synology

Beaucoup utilisent le combo Raspberry Pi + carte SD pour créer sa propre « box » domotique. Si vous avez plus de quelques mois d’utilisation, vous êtes déjà probablement tombés sur un système qui refuse de démarrer avec des erreurs obscures telles que :

[  707.493811] EXT4-fs (sdg2): bad geometry: block count 3844864 exceeds size of device (3844863 blocks)

ou encore :

fsck.ext4: Bad magic number in super-block while trying to open /dev/sda5

Et là.. c’est le drame!

C’est le gros problème des cartes SD qui, à la base, n’ont pas été conçues pour recevoir des cycles d’écriture « en continu » d’un système (même minimaliste) allumé 24/7. Il existe plusieurs solutions comme celle que vous donne Vincent sur ce même blog avec l’utilisation d’un disque dur conçu pour le RaspberryPi mais aussi des modifications système permettant de limiter les accès à la carte

Dans tous les cas, pour éviter de perdre des données lors d’une telle mésaventure, il est indispensable de sauvegarder régulièrement votre installation. Domoticz propose de télécharger un dump de la base de données de manière très simple : un simple clic dans l’administration de Domoticz.

C’est bien mais pas suffisant 😉

Si vous avez un NAS Synology en complément de votre installation, il existe une méthode très simple pour faire cette sauvegarde tous les jours, directement sur votre NAS. Le prérequis est d’avoir un utilisateur avec un espace personnel dans /homes/, je pense que c’est le cas par défaut à la création d’un utilisateur sur le DSM (ici en version 6.0.1)

Dans le panneau de configuration, cliquer sur « Planificateur de Taches »

Screenshot from 2016-07-25 22-25-06

 Puis,  Créer / Tache planifiée / Script défini par l’utilisateur

Screenshot from 2016-07-25 22-29-17

Dans la fenêtre, choisir votre utilisateur et nommer la tâche « Backup Domoticz » par exemple :

Screenshot from 2016-07-25 22-46-47

Dans l’onglet Programmer, définir l’heure / la fréquence / le jour de sauvegarde :

Screenshot from 2016-07-25 22-35-21

Enfin dans le l’onglet Paramètre de tâche , ajouter :

wget http://IP_DE_VOTRE_DOMOTICZ:8080/backupdatabase.php -O /var/services/homes/VOTRE_UTILISATEUR/backup_domoticz/domoticz_`date +%Y%m%d`.db

Screenshot from 2016-07-25 22-49-13

Ceci va lancer la commande wget. Elle va  récupérer le backup et le poser à l’endroit prédéfini après le -O, pensez d’ailleurs à créer le dossier backup_domoticz/ au préalable. L’astuce consiste à rajouter en suffixe au nom du fichier la date du jour, sous le format ANNEEMOISJOUR. Ainsi, vous aurez dans votre dossier, l’ensemble de vos sauvegardes classées par date :

!-rw-r--r-- 1 xxxx users 1.4M Jul 25 21:57 domoticz_20160725.db

Voilà une méthode simple, sans avoir besoin de connaissance en ligne de commande ou crontab, vous permettant d’éviter une perte de données importante causée par un éventuel crash ou problème de carte SD.

La méthode doit facilement s’adapter à Jeedom, mais je laisse les spécialistes en parler 😉

Julien

12 thoughts on “Sauvegarde simple de Domoticz sur NAS Synology

  • 9 juillet 2017 at 10 h 56 min
    Permalink

    Très bon tuto simple et efficace ne pas oublier si besoin le password et l’identifiant devant l’adresse IP

    Reply
  • 19 juillet 2017 at 13 h 23 min
    Permalink

    Bonjour,

    J’ai fait ce tuto, mais le fichier téléchargé fait 0kb (alors qu’en manuel dans Domoticz je dois avoir environ 400kb).
    Je ne vois pas où ça bloquerait, j’ai juste changé le port par défaut de Domoticz, mais je l’ai bien mis dans le script.

    Tu aurais des idées ?

    Merci !

    Reply
  • 20 juillet 2017 at 1 h 04 min
    Permalink

    C’est bon ça fonctionne j’avais juste mis en double http:// après wget !

    Reply
  • 24 août 2017 at 14 h 44 min
    Permalink

    Bonjour,

    Voilà ce que me répond le syno !

    « Le planificateur de tâches à terminé une tâche planifiée.

    Tâche : Backup Domoticz
    Heure de début : Thu, 24 Aug 2017 14:33:43 GMT Heure d’arrêt : Thu, 24 Aug 2017 14:33:43 GMT État actuel : 1 Sortie standard/erreur :
    /var/services/homes/admin/backup_domoticz/domoticz_20170824.db: No such file or directory »

    Pffuu, compliqué quand on sait pas!
    merci.

    Reply
  • 29 août 2017 at 10 h 32 min
    Permalink

    Bonjour JP,

    Désolé pour la réponse tardive, mais le problème est que le dossier « /var/services/homes/admin/backup_domoticz/ » semble ne pas exister. L’as-tu bien créé au préalable ?

    Julien

    Reply
  • 7 septembre 2017 at 11 h 49 min
    Permalink

    Bonjour,
    Tiens bizarre, je t’avais répondu et le message s’est perdu!
    Sinon, bien sûr que non, je n’avais pas créé le répertoire, et ne comprenait pas vraiment ce que me disait le NAS.
    Néanmoins en cherchant un peu et en faisant quelques essais, j’ai réussi à sauvegarder le fichier ailleurs. A partir de là j’ai compris et réussi à réorienter la sauvegarde dans le répertoire ou je voulais.
    Du coup, est-il possible d’une certaine manière de lire les archivages et au 15 du mois, supprimer l’ensemble des archives du mois précédent? Tu l’as compris, c’est afin d’éviter que ce répertoire ne grossisse indéfiniment!
    Je te remercie de tes retours et déjà de m’avoir répondu.
    Cdt
    JP

    Reply
  • 7 septembre 2017 at 14 h 03 min
    Permalink

    L’intérêt du NAS c’est que normalement tu as largement de quoi stocker de nombreux jours d’historique. Il faudrait créer une tache de nettoyage, dans un cron par exemple, ou améliorer le script appelé par le Synology. C’est pas hyper compliqué mais je n’ai pas de réponse toute faite.

    Reply
  • 7 septembre 2017 at 14 h 24 min
    Permalink

    Ok, ce n’est pas grave et pas très important non plus. Je te remercie de tes retours.
    @+

    Reply
  • 8 septembre 2017 at 12 h 40 min
    Permalink

    Bonjour,
    En continuant mon idée, j’ai créé un script test qui dit ceci.
    http://192.168.xxx.xxx/volume1/perso/backup_domoticz/ find . -type f -mtime +3 -exec rm -vf {} \;
    L’idée étant de supprimer les 3 fichiers les plus vieux de mes sauvegardes.
    Mal m’en a pris, j’ai manifestement corrompu le certificat de sécurité du NAS.
    Je ne peux plus rentrer dans ce dernier en serveur Web, uniquement avec les applications comme DS file, Filezilla ou autre.
    Une idée.
    Merci

    Reply
  • 11 septembre 2017 at 11 h 56 min
    Permalink

    Je me réponds à moi-même, cette commande qui ne s’est pas exécutée au bon endroit n’a eu d’autre effet que de supprimer l’ensemble des librairies du NAS. Aucune issue possible (au moins à ma connaissance et mon faible niveau), juste l’obligation de réinstaller le système et les applications.
    Heureusement, les environnements du système et des applications, notamment DOMOTICZ étaient sauvegardés. Tout est rentré dans l’ordre après 4 heures e boulot!
    Ce qu’il faut en retenir,
    – Ne pas s’aventurer sur des terres inconnues
    – Faire les sauvegardes qui s’imposent.
    Mais bon j’dis ça, j’dis rien…..hhummm, IoI
    @+

    Reply
  • 11 septembre 2017 at 13 h 46 min
    Permalink

    Content que ce soit rentré dans l’ordre 🙂

    A mon avis, le dossier du find n’est pas bon, il vaut mieux mettre le « path » complet en argument :
    find /var/services/homes/admin/ …….

    Reply
  • 12 septembre 2017 at 18 h 03 min
    Permalink

    Certes, mais je vais oublier cette idée de fainéant (c’est d’actualité IoI) pour le moment!
    Cdt,
    @ bientôt et merci.

    Reply

Laisser un commentaire

Votre adresse de messagerie ne sera pas publiée. Les champs obligatoires sont indiqués avec *