NEWS
Datenbank Backup überwachen
-
Hallo zusammen,
bei einem Systemwechsel letztlich hatte ich Probleme, die Influx Datenbank mittels BackitUp auf dem neuen System wiederherzustellen. Gelungen ist der DB Restore letztlich mit Influx Bordmitteln. Daher habe ich auf meinem aktuellen System einen Cronjob eingerichtet, der mir wöchentlich ein DB Backup zusätzlich zu dem täglichen BackitUp Backup auf einer separaten Partition ablegt. Das klappt auch soweit inklusive dem Löschen älterer Backups.
Das Erstellen dieser Backups, bzw. das Anlegen des neuen Ordners würde ich jetzt gerne überwachen und eine Mail Benachrichtigung über Erfolg oder Misserfolg versenden. Der Mail Adapter läuft und versendet bereits die BackitUp Meldungen.
Ist das aus dem iobroker heraus möglich und kann mir vielleicht jemand einen Ansatz zeigen?
Anbei mein Script:
#Script zum automatischen Sichern der Influx Datenbank #!/bin/bash # Backup Pfad und Datum path="/Backup/influx" datum=$(date +"%y-%m-%d") # Alte Backups löschen find $path -maxdepth 1 -mtime +35 -type d -exec rm -rf {} ';' # Neues Backup anlegen influxd backup -db iobroker $path/$datum
Vielen Dank und Gruß
-
du kannst dir ein DP über simpleapi an iobroker schicken, nach der Verarbeitung
https://github.com/ioBroker/ioBroker.simple-api
"set" ist dein freund
-
@arteck ,
danke für den Anstoß, das war mir bisher nicht bekannt.
Allerdings ist die Beschreibung doch etwas kryptisch (für mich).Den Adapter habe ich installiert und so konfiguriert:
Damit bin ich in der Lage, in einen manuell angelegten Datenpunkt mittels Browser Werte zu schreiben, die ich dann auswerten kann.
http://<IP_Address>:8087/set/0_userdata.0.Backup.DB-Backup-OK?value=1Idee: 0=Backup (noch) nicht gelaufen, 1=Backup war erfolgreich, 2= Backup fehlgeschlagen.
Gehe ich Recht in der Annahme, dass ich das Backup Shell Script so ergänzen muss, dass das Backup überprüft und je nach Ergebnis "1" oder "2" per HTTP Set in den Datenpunkt geschrieben wird und der DP nach dem Auswerten im iobroker per 2. Script wieder auf "0" gesetzt wird?
Oder bin ich da komplett auf dem Holzweg?Hast Du eventuell ein Beispiel für mich? Ich habe noch nichts passendes gefunden.
Danke und Gruß
-
@opöl sagte in Datenbank Backup überwachen:
Gehe ich Recht in der Annahme, dass ich das Backup Shell Script so ergänzen muss
ja genau also am ende schreibst du
#Script zum automatischen Sichern der Influx Datenbank #!/bin/bash # Backup Pfad und Datum path="/Backup/influx" datum=$(date +"%y-%m-%d") # Alte Backups löschen find $path -maxdepth 1 -mtime +35 -type d -exec rm -rf {} ';' # Neues Backup anlegen influxd backup -db iobroker $path/$datum #check ob ok VERIFY_OUTPUT=$(influxd inspect verify -dir $path/$datum) if echo "$VERIFY_OUTPUT" | grep -q "Broken Blocks: 0"; then wget 'http://<IP_Address>:8087/set/0_userdata.0.Backup.DB-Backup-OK?value=1' else wget 'http://<IP_Address>:8087/set/0_userdata.0.Backup.DB-Backup-OK?value=2' fi
-
@arteck ,
vielen Dank. Klappt so, wie ich mir das vorgestellt hatte.
Du hattest aber einen kleinen Typo in Zeile 14.Für die Nachwelt:
So klapp das Überprüfen, ob der Ordner mit dem aktuellen Datum für das Backup angelegt wurde.
In den Datenpunkt "0_userdata.0.Backup.DB-Backup-Status" wird bei Erfolg eine "1" und bei Misserfolg eine "2" geschrieben, die dann von einem iobroker Script ausgewertet werden kann.# Script zum automatischen Sichern der Influx Datenbank #!/bin/bash # Backup Pfad und Datum path="/Backup/influx" datum=$(date +"%y-%m-%d") # Alte Backups löschen find $path -maxdepth 1 -mtime +35 -type d -exec rm -rf {} ';' # Neues Backup anlegen influxd backup -db iobroker $path/$datum #check ob ok VERIFY_OUTPUT=$(influx_inspect verify -dir $path/$datum) if echo "$VERIFY_OUTPUT" | grep -q "Broken Blocks: 0"; then wget 'http://192.168.178.40:8087/set/0_userdata.0.Backup.DB-Backup-Status?value=1' else wget 'http://192.168.178.40:8087/set/0_userdata.0.Backup.DB-Backup-Status?value=2' fi
Gruß