Backup à chaud Pi

Posez ici vos questions d'utilisation, de configuration de DomoticZ, de bugs, de conseils sur le logiciel lui même dans son utilisation et son paramétrage.
Des forums spécifiques sont ouverts ci-dessous pour regrouper les différents sujets.
miralant
Messages : 157
Inscription : 02 mars 2018, 14:33

Backup à chaud Pi

Message par miralant »

Bonjour à tous,

Toujours dans l'idée de sécuriser mon installation, je souhaiterais mettre en place des backups à chaud de mon installation.
Je fais toutes les semaines une sauvegarde de la Bdd domoticz et tout les 6 mois (😬😬) je clone ma carte SD avec windisk 32 manager.
Ça n'est pas satisfaisant au regard de la criticité.
J'aimerai faire des backups à chaud complets sur un NAS distant.
J'ai trouvé https://github.com/billw2/rpi-clone sur une carte SD local mais rien qui serait fait en 1 coup.

Comment gérez vous vos backup domoticz ?

Merci
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Backup à chaud Pi

Message par Keros »

J'utilise BackInTime.

Il y a d'autres solutions en Zippant le contenu de la carte (mais je n'y étais pas arriver).
Ton post me fait néanmoins penser qu'il faut que je me repenche sur le sujet : sauvegarder la db c'est bien mais si il y a un changement de version entre un réinstallation et tes sauvegardes : tu peux avoir des soucis.

EDIT après une recherche rapide sur le forum : Backup carte SD complète sur nas avec envoi mail
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Backup à chaud Pi

Message par Chrominator »

Une alternative qui fonctionne bien, et qui permet de sauvegarder au choix, la base de donnée de dz, le répertoire de dz et finalement toute la sd (ou la partition du disque dur).

Avec ça et la crontab je sauvegarde la bdd tous les jours, le répertoire 1x par semaine et la partition 1x par mois).

viewtopic.php?p=38705#p38705
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
miralant
Messages : 157
Inscription : 02 mars 2018, 14:33

Re: Backup à chaud Pi

Message par miralant »

Chrominator a écrit : 15 nov. 2020, 09:11 Une alternative qui fonctionne bien, et qui permet de sauvegarder au choix, la base de donnée de dz, le répertoire de dz et finalement toute la sd (ou la partition du disque dur).

Avec ça et la crontab je sauvegarde la bdd tous les jours, le répertoire 1x par semaine et la partition 1x par mois).

viewtopic.php?p=38705#p38705
Ta solution me semble sympa mais je suis embêté sur la sauvegarde de la BDD via l'appel de la page php. j'ai un unautorized :( j'ai essayé en forcant dans l'url avec

Code : Tout sélectionner

sav_db=$(curl -s http://user:mdp@$DOMOTICZ_IP:$DOMOTICZ_PORT/backupdatabase.php > $myBackupFile)
. J'ai un fichier .db de créé mais qui contient une page html avec un "unautorized".
Du coup, j'ai fait un simple (je pige pas d'ailleurs pourquoi faire appel à cette page car le script est sur la machine?!?!):

Code : Tout sélectionner

cp $DOMOTICZ_DIRECTORY/domoticz.db $myBackupFile
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Backup à chaud Pi

Message par Chrominator »

La procédure est celle qui est résidente dans dz pour sauvegarder la bdd.
Vérifie que tu as bien autorisé l'adresse IP à accéder à dz sans mot de passe dans Configuration/Paramètres/Réseaux locaux


Screenshot_2020-11-15 Domoticz.png
Screenshot_2020-11-15 Domoticz.png (6.56 Kio) Consulté 3796 fois
Il y a certainement une différence entre la procédure incluse et une simple copie.
Si la copie intervient avant qu'une transaction ne soit complètement terminée, est-ce que cette copie fonctionnera ensuite avec dz ?
La procédure doit certainement produire une base cohérente et intègre contrairement à la copie.
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
miralant
Messages : 157
Inscription : 02 mars 2018, 14:33

Re: Backup à chaud Pi

Message par miralant »

Yes, bien vu. Effectivement ça marche en ouvrant juste le 127.0.0.* et en attaquant le curl en 127.0.0.1

Tu as raison, il y a un risque de tomber au milieu d'une transaction et avoir un .bak corrompu.
Je pense qu'il faudrait faire un systemctl stop domoticz, le CP et un start derrière.

J'ai "croné" la full du système cette nuit. Pour la remonter sur une SD vierge la procédure est simple ?
Chrominator
Messages : 1042
Inscription : 19 déc. 2015, 07:29
Localisation : France

Re: Backup à chaud Pi

Message par Chrominator »

De tête et sans tester, il suffit de faire l'opposé de la sauvegarde, donc décomprimer l'image sur stdout qu'on pipe avec dd :

Code : Tout sélectionner

gunzip -c <ma_sauvegarde> | dd of=/dev/mmcblk0 bs=4M
Note qu'à la place de gzip/gunzip j'utilise dans ce script modifié lbzip2.
Il permet d'utiliser plusieurs cœurs de nos pi, ce que les premiers ne font pas (réduction du temps de sauvegarde).
Un bon frein vaut mieux que deux sparadraps.

Ubuntu 24.04.3 LTS - Domoticz 2025.1 (build 16782)
Pentium G3220T 2.6GHz - 4Go DDR3
RFXtrx433 USB Ver Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway
Zigbee SLZB-06
pierrotori
Messages : 821
Inscription : 29 févr. 2016, 12:11

Re: Backup à chaud Pi

Message par pierrotori »

je fais ca
file=backup_$(date +%Y%m%d_%H%M%S).db
curl -s http://127.0.0.1:8080/backupdatabase.php > /dev/null
sudo mv /tmp/backup.db /home/pi/domoticz/backup_db/$file
Keros
Messages : 6638
Inscription : 23 juil. 2019, 20:57

Re: Backup à chaud Pi

Message par Keros »

Tu sauvegardes ainsi la base de données. C'est déjà très bien ;)

Par contre, si tu as des dossiers de plugin ou des fichiers de scripts, ils ne sont pas enregistré dans cette sauvegarde. Ni tes config pour mettre certains choses en RAM, etc ...
De plus, si tu dois remonter ton installation, il faudra que tu retrouves les fichiers d'installation de DomoticZ qui tournait au moment de ta sauvegarde. Lors d'un changement de version de DomoticZ, il est possible que la base de donnée soit modifiée : certains ont eu des problèmes en essayant de recharger des sauvegardes sur des nouvelles installations (il y a des sujets là dessus).
Comment bien utiliser le forum : Poser une question, Mettre un script, un fichier, une image ou des logs
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
f-d-m
Messages : 156
Inscription : 25 juin 2019, 21:36

Re: Backup à chaud Pi

Message par f-d-m »

Sinon pour faire propre,

vous installez sqlite3:
sudo apt-get update
sudo apt-get install sqlite3

pour faire un backup:

cd /home/pi/domoticz # adaptez par rapport à votre installation
sqlite3 domoticz.db .dump > domoticz.dump

Exemple à mettre dans un cron quotidien:
sqlite3 domoticz.db .dump > domoticz.dump.`date +%A`.sql

Vous pouvez aussi faire un backup hebdomadaire (à mettre dans un cron qui s'exécute 1x par semaine):
sqlite3 domoticz.db .dump > domoticz.dump.week.`date +%W`.sql

Vous retouvez alors les fichiers suivants:
domoticz.dump.Tuesday.sql
domoticz.dump.week.46.sql

Ajoutez gzip pour comprimer, et vous allez faire un gain de 90%. Les deux commandes ci-dessus deviennent:
sqlite3 domoticz.db .dump | gzip > domoticz.dump.`date +%A`.sql.gz
sqlite3 domoticz.db .dump | gzip > domoticz.dump.week.`date +%W`.sql.gz
---
Bruxelles

RPi 3B, Domoticz 2024.7, SSD, dongle Zigbee Sonoff
IPX-800 V3
multiples Sonoff et similaires (Tasmota, ESPeasy), multiples appareils Zigbee
SMA Sunny Boy 3.6
Ksenia Lares 4.0
Compteur digital à la norme DSMR5 - interface ESP32
Répondre