Réduire base de données
Réduire base de données
Bonjour,
j'ai Domoticz sur Raspberry Pi 3B qui tourne depuis 2017 (je ne fais pas de MAJ).
Aussi, le fichier de sauvegarde Domoticz.db est à 79Mb.
Est-il possible d'éliminer des données inutiles?
Je souhaite garder que l'historique de certains capteurs, températures, énergie, compteur...
Merci
j'ai Domoticz sur Raspberry Pi 3B qui tourne depuis 2017 (je ne fais pas de MAJ).
Aussi, le fichier de sauvegarde Domoticz.db est à 79Mb.
Est-il possible d'éliminer des données inutiles?
Je souhaite garder que l'historique de certains capteurs, températures, énergie, compteur...
Merci
Raspberry pi 3/Rasbian-Jessie/Domoticz/RFXtrx433 USB 433.92MHz/SSD 32gb
Re: Réduire base de données
Je ne connais pas de fonctions dans DomoticZ pour cela. Il faudrait faire ce nettoyage dans la base de données (en le faisant sur une copie au cas où cela se passerait mal).
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
Mes petits guides : Débuter en programmation, Le débogage, Le choix de matériel, Les sauvegardes
Ma présentation - Mes Tutos
-
Flying Domotic
- Messages : 772
- Inscription : 10 mars 2020, 15:26
Re: Réduire base de données
Une mauvaise réponse serait de supprimer et recréer à l'identique des dispositifs ayant un passé lourd, l'historique étant détruit en même temps que le dispositif.
Il y a également une possibilité en utilisant la primitive qui détruit un élément dans l'historique (celui caché derrière le <MAJ>-click sur un point). Ça pourrait être appelé par un script (python par exemple) en boucle sur un intervalle de date, et en boucle sur les dispositifs à supprimer.
Sinon, j'ai peur qu'il ne faille passer par un ménage par SQL dans les tables "_Calendar".
Il y a également une possibilité en utilisant la primitive qui détruit un élément dans l'historique (celui caché derrière le <MAJ>-click sur un point). Ça pourrait être appelé par un script (python par exemple) en boucle sur un intervalle de date, et en boucle sur les dispositifs à supprimer.
Sinon, j'ai peur qu'il ne faille passer par un ménage par SQL dans les tables "_Calendar".
Re: Réduire base de données
79MB pour 8 ans c'est pas délirant. A mon sens mieux vaut laisser ainsi et Domoticz gère plutôt bien de ce côté.
Re: Réduire base de données
Oui, je pense que tu as raison, mais faire une sauvegarde de la db directement par le navigateur devient trop long.
Il faut que j'automatise cette tâche avec un scrip, je vais bien trouver ça sur le fofo.
Merci pour les réponses
Il faut que j'automatise cette tâche avec un scrip, je vais bien trouver ça sur le fofo.
Merci pour les réponses
Dernière modification par Keros le 18 févr. 2025, 12:25, modifié 1 fois.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raison : Citation supprimée. Merci de ne pas citer le message précédent lors d'une réponse directe.
Raspberry pi 3/Rasbian-Jessie/Domoticz/RFXtrx433 USB 433.92MHz/SSD 32gb
-
jackslayter
- Messages : 1040
- Inscription : 30 sept. 2014, 14:40
- Localisation : Isère (38)
Re: Réduire base de données
moi j'ai ce petit script qui ce lance la nuit
Code : Tout sélectionner
#!/bin/bash
TIMESTAMP=`/bin/date +%Y-%m-%d_%H-%M`
IPDZ=192.168.1.2
BACKUPFILEDOMO="domoticz_$TIMESTAMP.db"
BACKUPFILEDOMOGZ="domoticz_db_$TIMESTAMP".tar.gz
/usr/bin/curl -s 'http://'$IPDZ'/backupdatabase.php' > /var/tmp/$BACKUPFILEDOMO
tar czf "/media/backup/domoticz/$BACKUPFILEDOMOGZ" /var/tmp/$BACKUPFILEDOMO
rm /var/tmp/"$BACKUPFILEDOMO"Raspberry Pi + RFLink + Domoticz Beta
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Oregon - 3x Thgr122Nx / Chacon - micromodule 200w, télécommande 3b et 16b, 2x module 1000w, détecteur de fumée, contact de porte, 2x prise 3500w / OWL - CM180 / TRC02 v2 RGB 3M / Cheap - PIR, contact de porte
Re: Réduire base de données
Moi j'utilise
avec
AVANT
1833653 -rw-r--r-- 1 pi pi 80M 2 mars 18:25 domoticz.db
apres
1833653 -rw-r--r-- 1 pi pi 73M 2 mars 18:27 domoticz.db
Code : Tout sélectionner
#!/bin/bash
SERVICE=/usr/sbin/service
SQLITE3=/usr/bin/sqlite3
cd /home/pi/domoticz
#$SERVICE monit stop
#if [ $? == 0 ]; then
$SERVICE domoticz.sh stop
if [ $? == 0 ]; then
if [ -f "/home/pi/domoticz/domoticz.new.db" ]; then
rm /home/pi/domoticz/domoticz.new.db
fi
cp /home/pi/domoticz/domoticz.db /home/pi/domoticz/domoticz_OLD_OK_avant_CLEAN.db
cat /home/pi/domoticz/compressdb.sql | $SQLITE3
cp /home/pi/domoticz/domoticz.new.db /home/pi/domoticz/domoticz.db
chown pi:pi /home/pi/domoticz/domoticz.db
$SERVICE domoticz.sh start
# $SERVICE monit start
fi
#fi
avec
Code : Tout sélectionner
cat /home/pi/domoticz/compressdb.sql
.open /home/pi/domoticz/domoticz.db
delete from LightingLog where date <= date('now','start of month','-1 month','-1 day');
.clone domoticz.new.db
.quit
pi@Principal:~/domoticz $
1833653 -rw-r--r-- 1 pi pi 80M 2 mars 18:25 domoticz.db
apres
1833653 -rw-r--r-- 1 pi pi 73M 2 mars 18:27 domoticz.db
Re: Réduire base de données
Bonjour,
Perso je prends un backup quotidien conservé 1 semaine, et un backup hebdomadaire conservé 1 an .
Ceci sans arrêter Domoticz.
Il faut avoir installé le package sqlite3.
Les deux sont lancés respectivement par un cron.daily et un cron.weekly
Le répertoire /home/pi fait lui-même l'objet d'un backup quotidien avec rsync vers une destination externe.
gzip fait gagner environ 90% de place.
Perso je prends un backup quotidien conservé 1 semaine, et un backup hebdomadaire conservé 1 an .
Ceci sans arrêter Domoticz.
Il faut avoir installé le package sqlite3.
Code : Tout sélectionner
root@rpi3b:/usr/local/bin# cat dump.domoticz.daily
#!/bin/bash
cd /home/pi
sqlite3 domoticz/domoticz.db .dump | gzip > domoticz.dump.`date +%A`.sql.gz
root@rpi3b:/usr/local/bin# cat dump.domoticz.weekly
#!/bin/bash
cd /home/pi
sqlite3 domoticz/domoticz.db .dump | gzip > domoticz.dump.week.`date +%W`.sql.gz
Le répertoire /home/pi fait lui-même l'objet d'un backup quotidien avec rsync vers une destination externe.
gzip fait gagner environ 90% de place.
---
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
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
Re: Réduire base de données
Je trouves qu'avec le protocole 433MHz (rfxcom) on récolte pas mal de dispositif dès qu'on accepte des nouveaux appareils. Je supprime chaque fois les dispositifs qui ne m'appartient pas quand j'appareil un dispositif. Ça permet de gagner un petit peu.