Et voilà, j’ai voulu jouer avec une vieille carte SD et la remplir… Ce qui devait arriver arriva, trop d’écriture, et une carte corrompu ! Aïe, la maison n’est plus autonome, vite achetons une nouvelle carte! Ok, mais on met quoi dessus, tout est perdu ? (Au passage, pensez à éviter les écritures inutiles sur votre carte SD avec les fichiers temporaires).

Rien n’est perdu si un minimum de sauvegarde est planifié régulièrement.

Le Script bash. Il faut créer un fichier backup.sh :

#!/bin/bash
TIMESTAMP=`/bin/date +%Y%m%d-%H%M`
BACKUPFILE="domoticz_$TIMESTAMP.db"
BACKUPFILEGZ="domoticz_backup_$TIMESTAMP".tar.gz
mkdir /media/freebox/backup/temp
/usr/bin/curl -s http://127.0.0.1:8080/backupdatabase.php > /media/freebox/backup/temp/$BACKUPFILE
cp -R /home/pi/domoticz/scripts/ /media/freebox/backup/temp/script
mkdir /media/freebox/backup/temp/IR
cp -R /etc/lirc/lircd.conf /media/freebox/backup/temp/IR
cd /media/freebox/backup/
tar cvzf "/media/freebox/backup/$BACKUPFILEGZ" temp
rm -R /media/freebox/backup/temp/

Pour ma part, j’ai une FreeBox et j’ai monté un accès à son disque depuis le Raspberry (voir ici) sur /Media/freebox, c’est donc ici que je stocke mes sauvegardes.

Les éléments que je sauvegarde sont les suivants :

Ensuite je compresse le tout.

En cas de crash, il me suffit de réinstaller un Domoticz tout neuf, de remettre les script et fichier de config aux bon endroit, et d’uploader ma base Domoticz via l’interface.

Il faudra également réinstaller les package complémentaire installés précédemment, mais je retrouve au minimum, toutes mes données personnels qui seraient détruites sans sauvegarde.

Pour automatiser cette sauvegarde qui ne prendra que quelques secondes et quelques kilo-octets sur disque, mettons le dans la crontab, pour exécution, tous les jours à 1h du matin :

0 1 * * * /home/pi/domoticz/scripts/backup.sh &> /dev/null