NEWS
Influx Datenbank sichern und wiederherstellen?
-
Also ich mache mein Backup von der normalen Linux Kommandozeile aus und nicht unter der Influxdb-Konsole...
Das schaut dann so aus bei meiner Datenbank die iobroker heißt:
root@DietPi:~# sudo influxd backup -portable -database iobroker -host 127.0.0.1:8088 /tmp/iobroker_influx_backup
2020/05/10 20:28:39 backing up metastore to /tmp/iobroker_influx_backup/meta.00
2020/05/10 20:28:39 backing up db=iobroker
2020/05/10 20:28:39 backing up db=iobroker rp=autogen shard=49 to /tmp/iobroker_influx_backup/iobroker.autogen.00049.00 since 0001-01-01T00:00:00Z
2020/05/10 20:28:40 backing up db=iobroker rp=autogen shard=50 to /tmp/iobroker_influx_backup/iobroker.autogen.00050.00 since 0001-01-01T00:00:00Z
2020/05/10 20:28:40 backing up db=iobroker rp=autogen shard=51 to /tmp/iobroker_influx_backup/iobroker.autogen.00051.00 since 0001-01-01T00:00:00Z
2020/05/10 20:28:40 backing up db=iobroker rp=autogen shard=52 to /tmp/iobroker_influx_backup/iobroker.autogen.00052.00 since 0001-01-01T00:00:00Z
2020/05/10 20:28:41 backing up db=iobroker rp=autogen shard=53 to /tmp/iobroker_influx_backup/iobroker.autogen.00053.00 since 0001-01-01T00:00:00Z
2020/05/10 20:28:41 backing up db=iobroker rp=autogen shard=54 to /tmp/iobroker_influx_backup/iobroker.autogen.00054.00 since 0001-01-01T00:00:00Z
2020/05/10 20:28:42 backup complete:
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.meta
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.s49.tar.gz
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.s50.tar.gz
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.s51.tar.gz
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.s52.tar.gz
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.s53.tar.gz
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.s54.tar.gz
2020/05/10 20:28:42 /tmp/iobroker_influx_backup/20200510T182839Z.manifest
root@DietPi:~#Vorher muss aber die Influxdb.config bearbeitet werden...:
Hatte mich damals hiernach gerichtet und entsprechend meinen Anforderungen umgesetzt...:
https://solaranzeige.de/phpBB3/viewtopic.php?t=310
Einen Restore hatte ich auch schon gemacht - ging problemlos.
-
@Sören Dein Problem ist eigentlich nur, dass du zwei Dinge vermischst. "influx" ist direkt das Datenbankmanagement, also Datensätze bearbeiten, anlegen, löschen...
"influxd" ist dann die Konsole, um bspw. ein Backup oder Restore auszuführen.
Du hast dich per influx in das Datenbankmanagement eingeloggt und dann Konsolenbefehle von influxd abgesetzt.Ich gehe nach der offiziellen Doku vor und nutze die "legacy"-Methode (ziemlich am Ende): https://docs.influxdata.com/influxdb/v1.8/administration/backup_and_restore/
Backup (direkt in der Shell):
influxd backup -database <mydatabase> <path-to-backup>
Restore (direkt in der Shell, vorher Influxdb stoppen):
influxd restore -metadir /var/lib/influxdb/meta <path-to-backup> influxd restore -database <mydatabase> -datadir /var/lib/influxdb/data <path-to-backup> sudo chown -R influxdb:influxdb /var/lib/influxdb systemctl start influxdb
Gerade eben wieder nach Umzug von Alt-Rechner auf Neu-Rechner erfolgreich durchgeführt
-
@SBorg Hi natürlich du hast recht da hab ich nicht aufgepasst.
Aber manchmal sieht man den Wald vor lauter Bäumen einfach nicht oder macht einen Fehler und Verrennt sich dann darin total. Manchmal hilft es einfach eine nacht drüber zu schlafen dann läuft es wie von alleine Ich danke euch trotzdem für eure Hilfe
-
@SayAndre
Ich benutze InfluxDBStudio. Vielleicht hilft dir das weiter -
Hallo zusammen,
ich hab einige Adapter im neuen Jahr aktualisiert, unter anderem auch InfluxDB.
Heute ist mir aufgefallen, dass im Zeitraum zwischen dem 12.12.2022 und dem 19.12.2022 alle Datenpunkte weg sind:Ich sichere über Backitup die InfluxDB täglich und hab deshalb diverse Backups auf die ich zurück greifen kann.
Nun die entscheidende Frage: Kann ich NUR die Datenpunkte für den Zeitraum (siehe oben) wieder stellen, ohne die anderen Daten die bis heute in der Datenbank gespeichert wurden zu überschreiben?
Oder gehen mir dann alle Datenpunkte verloren die seit dem Backup in die Datenbank geschrieben wurden? -
@naturfreund Ich habe das so gemacht:
sudo influxd restore -portable -db iobroker -newdb iobroker_bak /opt/iobroker/backups/
Im Verzeichnis /opt/iobroker/backups/ liegen das entpackte influxdb-Backup.
Dann im influxql:
use iobroker_bakUnd dann mit dem SELECT INTO von der Bak-Database in die Original-Database kopieren:
SELECT * INTO iobroker.autogen.EnergyProductionTotalPreviousDay FROM EnergyProductionTotalPreviousDayUnd bei diesem SQL-Statement kannst Du natürlich Deine Datums-Einschränkung mitgeben:
WHERE time >= '2023-01-01T00:00:00Z' AND time <= '2023-08-18T00:54:00Z'
-
@uweram Ich hab das gleiche Problem und es so gemacht wie von dir beschrieben. Ein von BackItUp erstelltes Backup entpackt und anschiessend als iobroker_bak restored.
Dann die Berechtigungen für die iobroker_bak angepasst und schliesslich versucht die Daten zu kopieren.>auth >use iobroker_bak > SELECT * INTO iobroker.autogen.EnergyProductionTotalPreviousDay FROM EnergyProductionTotalPreviousDay name: result time written ---- ------- 0 0
Es werden einfach keine Daten kopiert. In Grafana die iobroker_bak als Datenquelle hinzugefügt und geprüft. Es sind genau die Daten vorhanden, die ich brauche.
Mache ich noch irgendwas falsch, oder übersehe ich etwas?
Noch ein kleiner Hinweis, ich beschäftige mich erst seit letzten Samstag mit iobroker und co. -
@jojo58 said in Influx Datenbank sichern und wiederherstellen?:
SELECT * INTO iobroker.autogen.EnergyProductionTotalPreviousDay FROM EnergyProductionTotalPreviousDay
Hast Du wirklich:
SELECT * INTO iobroker.autogen.EnergyProductionTotalPreviousDay FROM EnergyProductionTotalPreviousDay
geschrieben?Denn den State (Datenpunkt, measurement) "EnergyProductionTotalPreviousDay" habe natürlich nur ich - den musst Du gegen Deinen gewünschten ändern.
Einfach einmal "Show measurements" aufrufen, um alle vorhandenen anzuzeigen.
-
@uweram Jau, habe ich, sorry, wie gesagt, Anfänger. Ich hab keinen Plan von Datenbanken, hab mir sowas aber fast gedacht. Wenn ich "show measurements" aufrufe, bekomme ich eine ziemlich lange Liste von Datenpunkten. Müssen die etwa alle einzeln importiert werden, oder gibts eine Möglichkeit alle Daten zu nehmen?
-
@jojo58 Soweit ich weiß muss man sie einzeln zurückspielen.
-
@uweram Hab die gut 200 Datenpunkte als Textdatei gespeichert, dann in Excel kopiert, dort die Befehlszeile inklusive Zeitbgrenzung zusammengebaut und das Ergebnis über PuTTy eingfügt. Es liefen alle Zeilen sauber durch. Das Ganze hat mit Zusammenbauen etwa 15 Minuten gedauert.
Danke dir...
-
Perfekt - freut mich, dass ich helfen konnte.