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 Concernant le Raspberry ou les scripts de toute nature des forums spécifiques sont ouverts
miralant
Messages : 152
Enregistré le : 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 : 1383
Enregistré le : 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

Chrominator
Messages : 686
Enregistré le : 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
Partir, c’est pourrir un pneu.

Ubuntu 20.04 LTS - Domoticz v2020.2
rfxcom RFXtrx433 USB Version: Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway with LAN interface 48.4

miralant
Messages : 152
Enregistré le : 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 : 686
Enregistré le : 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) Vu 794 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.
Partir, c’est pourrir un pneu.

Ubuntu 20.04 LTS - Domoticz v2020.2
rfxcom RFXtrx433 USB Version: Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway with LAN interface 48.4

miralant
Messages : 152
Enregistré le : 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 : 686
Enregistré le : 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).
Partir, c’est pourrir un pneu.

Ubuntu 20.04 LTS - Domoticz v2020.2
rfxcom RFXtrx433 USB Version: Pro1/1043
Z-Stick GEN5 Version: 1.6-1136-g07ea22bb
Rtl433 RTL-SDR receiver
RFLink Gateway with LAN interface 48.4

pierrotori
Messages : 146
Enregistré le : 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 : 1383
Enregistré le : 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).

f-d-m
Messages : 67
Enregistré le : 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 2020.2, SSD, PiZigate
IPX-800 V3
multiples Sonoff et similaires (Tasmota, ESPeasy), multiples appareils Zigbee
SMA Sunny Boy 3.6

Répondre