Page 1 sur 3
Backup à chaud Pi
Publié : 15 nov. 2020, 08:13
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
Re: Backup à chaud Pi
Publié : 15 nov. 2020, 08:22
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
Re: Backup à chaud Pi
Publié : 15 nov. 2020, 09:11
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
Re: Backup à chaud Pi
Publié : 15 nov. 2020, 18:03
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?!?!):
Re: Backup à chaud Pi
Publié : 15 nov. 2020, 19:04
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 (6.56 Kio) Consulté 3794 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.
Re: Backup à chaud Pi
Publié : 15 nov. 2020, 19:20
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 ?
Re: Backup à chaud Pi
Publié : 16 nov. 2020, 08:11
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 :
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).
Re: Backup à chaud Pi
Publié : 16 nov. 2020, 23:27
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
Re: Backup à chaud Pi
Publié : 17 nov. 2020, 05:44
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).
Re: Backup à chaud Pi
Publié : 17 nov. 2020, 09:45
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