NEWS
InfluxDB scriptgesteuert von Synology sichern
-
Hallo zusammen,
da Backitup meine InfluxDB nicht (mehr) sichert und ich bereits via Terminal Backup/Restore gut testen konnte, wollte ich das per Script im Synology Aufgabenplaner machen.
Hab dazu folgendes Script angelegt:
und folgenden Befehl verwendet:sudo docker exec -it influxdb influx backup /home/backup -t <meinToken>
Wenn ich den Befehl auf der Kommandozeile im Container ausführe, dann klappt die Sicherung.
Nur hier im Aufgabenplaner nicht. Ich bekomme auch keine Fehlermeldung.Habt ihr eine Idee wie das klappen kann?
-
@hennerich Warum arbeitest Du mit sudo? Du führst es auf dem Host aus und es funktioniert - okay (auch, wenn Du IM Container schreibst, meinst Du das bestimmt nicht so).
EDIT:
Ah, nicht ganz gelesen. Generell würde ich die Befehle im Synology-Aufgabenplaner nicht mit root ausführen lassen. Und falls es doch so sein sollte, kann man sich das
sudo
so oder so sparen.Und den Pfad
/home/backup
gibts im InfluxDB-Container? Wurde der als Volume gemappt? -
@hennerich sagte in InfluxDB scriptgesteuert von Synology sichern:
da Backitup meine InfluxDB nicht (mehr) sichert
Warum nicht? Ich würde da zuerst ansetzen.
-
@haus-automatisierung sagte in InfluxDB scriptgesteuert von Synology sichern:
@hennerich Warum arbeitest Du mit sudo? Du führst es auf dem Host aus und es funktioniert - okay (auch, wenn Du IM Container schreibst, meinst Du das bestimmt nicht so).
EDIT:
Ah, nicht ganz gelesen. Generell würde ich die Befehle im Synology-Aufgabenplaner nicht mit root ausführen lassen. Und falls es doch so sein sollte, kann man sich das
sudo
so oder so sparen.Und den Pfad
/home/backup
gibts im InfluxDB-Container? Wurde der als Volume gemappt?Danke für deine Antwort.
Warum mit sudo? Weil ich dachte, daran könnte es liegen. Das wars aber nicht.
Und der Pfad existriert
@thomas-braun sagte in InfluxDB scriptgesteuert von Synology sichern:
@hennerich sagte in InfluxDB scriptgesteuert von Synology sichern:
da Backitup meine InfluxDB nicht (mehr) sichert
Warum nicht? Ich würde da zuerst ansetzen.
Verrätst du mir, wie ich das wieder zum Laufen bekomme?
-
Ich kann nur vermuten, so ohne 'was zu beißen' aus dem Log.
influxdb auch lokal installiert? -
@thomas-braun sagte in InfluxDB scriptgesteuert von Synology sichern:
Ich kann nur vermuten, so ohne 'was zu beißen' aus dem Log.
influxdb auch lokal installiert?Die InlfuxDB und ioBroker laufen beide in separaten Docker Containern auf dem gleichen Host.
[Edit sagt]
Erwähnte ich, dass es sich um eine InfluxDB V2 handelt? Falls das von Relevanz sein sollte. -
Dann muss in dem iob-Docker auch influxdb in passender Version installiert sein, wenn ich mich recht entsinne.
-
@thomas-braun
Ok, verstanden. Und wenn ich also nicht möchte, dass nach einem Neubauen des ioB Containers noch manuell Hand angelegt werden muss, dann nehme ich zwei Container. Und damit geht das InfluxDB Backup nicht mit Backitup.
Wären wir also wieder bei Problem 1 -
Dann legt man sich den influx in die Bauanleitung des Containers rein. Problem gelöst.
-
@thomas-braun sagte in InfluxDB scriptgesteuert von Synology sichern:
Dann muss in dem iob-Docker auch influxdb in passender Version installiert sein, wenn ich mich recht entsinne.
Moin,
soweit mir bekannt, ist
influxDB
in zwei Pakete unterteilt, einmal das Paket mit der Datenbank und allem, und dann nochinfluxdb2-cli
und das ist es was man nur braucht.
Korrigiert mich, falls ich falsch liege.VG
Bernd -
@hennerich sagte in InfluxDB scriptgesteuert von Synology sichern:
dass nach einem Neubauen des ioB Containers noch manuell Hand angelegt werden muss
Naja oder Du baust ein eigenes Image auf Basis des ioBroker-Images und installierst dann die InfluxDB-CLI dazu. Aber nur für den Anwendungsfall auch relativ viele Schritte.
Daher finde ich den Weg über die Tasks von Synology gar nicht so schlecht!
-
@dp20eic
Ja, das Paket mit dem Client / cli meinte ich natürlich auch nur. Nicht die komplette Datenbank. Steht auch so im Wiki zu Backitup drin, wenn mich nicht alles täuscht.
-
@haus-automatisierung sagte in InfluxDB scriptgesteuert von Synology sichern:
@hennerich sagte in InfluxDB scriptgesteuert von Synology sichern:
dass nach einem Neubauen des ioB Containers noch manuell Hand angelegt werden muss
Naja oder Du baust ein eigenes Image auf Basis des ioBroker-Images und installierst dann die InfluxDB-CLI dazu. Aber nur für den Anwendungsfall auch relativ viele Schritte.
Daher finde ich den Weg über die Tasks von Synology gar nicht so schlecht!
Und dazu kommt noch, dass ich keine Ahnung vom Image Bauen habe ^^
-
Hallo zusammen,
mein Script funktioniert jetzt. Das Problem lag daran, dass ich den Parameter -it verwendet habe.
Kleiner Hinweis: Man kann im Synology Aufgabenplaner ein Logging anschalten und dort werden dann die Ausgaben der benutzerdefinierten Scripte hinterlegt. Das war sehr wertvoll für das Debugging.
Wenn ich das Script nicht über root laufen lasse, bekomme ich ein Permission denied.
Daher als root. Und sudo ist nicht notwendig. -
@hennerich sagte in InfluxDB scriptgesteuert von Synology sichern:
@thomas-braun sagte in InfluxDB scriptgesteuert von Synology sichern:
Verrätst du mir, wie ich das wieder zum Laufen bekomme?
Dafür gibt es :
ENV : IOB_BACKITUP_EXTDB true
https://docs.buanet.de/iobroker-docker-image/docs/#environment-variables-env
https://forum.iobroker.net/topic/61596/influxdb-v2-remote-backup
@dp20eic sagte in InfluxDB scriptgesteuert von Synology sichern:
influxdb2-cli und das ist es was man nur braucht.richtig
-
@hennerich sagte in InfluxDB scriptgesteuert von Synology sichern:
mein Script funktioniert jetzt. Das Problem lag daran, dass ich den Parameter -it verwendet habe.
Kleiner Hinweis: Man kann im Synology Aufgabenplanerein Logging anschalten und dort werden dann die Ausgaben der benutzerdefinierten Scripte hinterlegt
Das war sehr wertvoll für das Debugging.
Könntest du vielleicht das fertige Ergebniss hier posten !?
-
@glasfaser sagte in InfluxDB scriptgesteuert von Synology sichern:
Könntest du vielleicht das fertige Ergebniss hier posten !?
Sehr gerne mache ich das.
- Logging im Synology NAS anschalten:
-
erst einmal einen Ordner erstellen, in dem die Logs abgelegt werden sollen
-
dann unter Systemsteuerung/ Aufgabenplaner/ Einstellungen den Ordner auswählen
-
In dem Ordner findet man nach dem Ausführen zwei Dateien (unterhalb einer neuen Ordnerstruktur). Einmal ein script.log welches das ausgeführte Script enthält und einmal ein output.log, in dem man die Ausgabe als Logfile sehen kann. Bei mir stand dann das hier drin:
the input device is not a TTY
Das war der entscheidene Hinweis.
Mein Script habe ich nun so geändert:
Man sieht, dass ich sowohl das sudo am Anfang als auch den Schalter -it entfernt habe.