NEWS
[Vorlage] Backup - Script in der 2ten Version
-
Die rechte stimmen?
-
Mir ist aufgefallen, wenn ich den Button in VIS drücke, dass er den State für Großen Backup auf TRUE setzt, aber nicht mehr auf False, musste den Raspi neu starten.
Habe heute wieder ein großes Backup mittels VIS gestartet, dabei passiert folgendes:
-
Der ioBroker wird gestoppt.
-
Dann passiert nichts mehr. War mehrmals beim Raspi, aber der scheint nichts zu tun ( grüne LED ist aus, beim alten Backupscript hat die ja dauerhaft geleuchtet bei einem großen Backup ). Aus die CPU Auslastung ( mittels htop nach gesehen ) liegt bei 3%.
Leider konnte ich den Befehl in der Konsole nicht absetzen, da ich ihn nicht kenne da ich in Sachen Linux noch etwas doof bin `
Kommentier mal den stop, den restart und den start des iobrokers in der backitup.sh mit einer # (raute) am anfang der Zeile aus und versuchs nochmal.
Mir wurde gesagt dass es unter Umständen sein kann dass ein, zwei states nicht aktuell sind, da diese erst geschrieben werden bei dem stop aber vielleicht läuft es ja dann wenigstens `
Habe den "start" und "stop" jetzt auskommentiert und jetzt läuft das große Backup durch. Er erstellt auch ein Backup der MySQL Datenbank, jedoch überträgt er diese nicht auf die NAS. Kann man das eventuell noch lösen?
Man sollte/muss doch den io.Broker stoppen bevor man ein Backup macht und wenn du sagst, dass eventuel noch States gesetzt werden bei stoppen des io.Broker, dann könnte man ja jeweils einen Timeout von 30 Sekunden nach dem Stoppen und vor dem Starten des io.Brokers in die Batch-Datei Packen?
In der VIS wird mir aber nun die History nicht angezeigt, woran könnte dies liegen? den History-Adapter habe ich momentan nicht laufen, da ich alles über die MySQL Datenbank logge. `
Was hältst du davon peoples?
Gesendet von iPhone mit Tapatalk
-
-
Die Rechte stimmen.
Wie gesagt funktioniert es ja mit der Vorgängerversion. Ich sehe aber nicht was da alles geändert wurde, da mein editor eher etwas simpel ist.
Hier eine der Stellen:
############################################################################ # # # Erstellen eines Backups des ganzen ioBroker-Ordners # # # ############################################################################ elif [ $BKP_TYP == "komplett" ]; then # IoBroker stoppen
Genau dieses "elif" bemängelt er.
Ich bin auch der Meinung das das ein "if" sein sollte.
Ich habe nur noch nicht verstanden was hier in Zeile 2 falsch sein soll:
STRING=$1 echo $STRING IFS="|" VAR=($STRING)
-
[quote=quorle post_id=148041 time=1525669730
Was hältst du davon peoples
Schau ich mir an kann aber nicht versprechen dass ich das heute noch schaffe bin noch unterwegs
-
-
Hat noch jemand das Problem gehabt und konnte es lösen?
Gruß
Stefan `
Hi Stefan,
sshpass hast du auf deinem Iobroker installiert? Weil wenn nicht, kann sich das Script nicht auf deinem Raspberry einloggen und somit auch keine Befehle absetzen `
Hallo,
sshpass hab ich natürlich installiert. Wie gesagt, wenn ich die Befehlszeilen in der Konsole eingebe, gehts ja. Nur per Javascript nicht.
Stefan
-
-
-
Also der Weg ist zumindest richtig ich geh mal in mich und überlege woran das liegen könnte
-
Habe den "start" und "stop" jetzt auskommentiert und jetzt läuft das große Backup durch. Er erstellt auch ein Backup der MySQL Datenbank, jedoch überträgt er diese nicht auf die NAS. Kann man das eventuell noch lösen?
Man sollte/muss doch den io.Broker stoppen bevor man ein Backup macht und wenn du sagst, dass eventuel noch States gesetzt werden bei stoppen des io.Broker, dann könnte man ja jeweils einen Timeout von 30 Sekunden nach dem Stoppen und vor dem Starten des io.Brokers in die Batch-Datei Packen?
In der VIS wird mir aber nun die History nicht angezeigt, woran könnte dies liegen? den History-Adapter habe ich momentan nicht laufen, da ich alles über die MySQL Datenbank logge.
Was hältst du davon peoples? `
Das liegt an der Zeit die ich im Javascript eingestellt habe bis der Status sich zurück ändert. Sind in dem entsprechenden setstatedelayed 20 Sekunden, und wenn innerhalb dieser 20 Sekunden im Zuge des Kompletten Backups der Iobroker gestoppt und wieder gestartet wird ändert sich natürlich der Status nicht mehr. :roll: So zu sagen ein Relikt aus der Version in dem der Iobroker nicht gestoppt wurde beim kompletten Backup.
Ich ändere mal die Zeit auf 5 Sekunden dann sollte der Status wieder zurück gehen. Alternativ könnte ich versuchen den Neustart abfangen was aber wesentlich aufwändiger wäre und bestimmt wieder nicht so einfach umzusetzen ist.
Änder mal die Zeile (bei mir 404) von:
setStateDelayed(instanz + pfad0 + 'start_komplett_Backup', false, 20000);
auf:
setStateDelayed(instanz + pfad0 + 'start_komplett_Backup', false, 5000);
-
via konsole auf dem iobroker oder konsole auf der Raspberrymatic? `
Versuch mal das neue Set, chaot hatte einen Fehler gefunden der bei Ihm das Komplette-Backup unmöglich machte vielleicht hatte das auch Auswirkungen auf dein Problem -
Habe den "start" und "stop" jetzt auskommentiert und jetzt läuft das große Backup durch. Er erstellt auch ein Backup der MySQL Datenbank, jedoch überträgt er diese nicht auf die NAS. Kann man das eventuell noch lösen?
Man sollte/muss doch den io.Broker stoppen bevor man ein Backup macht und wenn du sagst, dass eventuel noch States gesetzt werden bei stoppen des io.Broker, dann könnte man ja jeweils einen Timeout von 30 Sekunden nach dem Stoppen und vor dem Starten des io.Brokers in die Batch-Datei Packen?
In der VIS wird mir aber nun die History nicht angezeigt, woran könnte dies liegen? den History-Adapter habe ich momentan nicht laufen, da ich alles über die MySQL Datenbank logge.
Was hältst du davon peoples? `
Das liegt an der Zeit die ich im Javascript eingestellt habe bis der Status sich zurück ändert. Sind in dem entsprechenden setstatedelayed 20 Sekunden, und wenn innerhalb dieser 20 Sekunden im Zuge des Kompletten Backups der Iobroker gestoppt und wieder gestartet wird ändert sich natürlich der Status nicht mehr. :roll: So zu sagen ein Relikt aus der Version in dem der Iobroker nicht gestoppt wurde beim kompletten Backup.
Ich ändere mal die Zeit auf 5 Sekunden dann sollte der Status wieder zurück gehen. Alternativ könnte ich versuchen den Neustart abfangen was aber wesentlich aufwändiger wäre und bestimmt wieder nicht so einfach umzusetzen ist.
Änder mal die Zeile (bei mir 404) von:
setStateDelayed(instanz + pfad0 + 'start_komplett_Backup', false, 20000);
auf:
setStateDelayed(instanz + pfad0 + 'start_komplett_Backup', false, 5000); ```` `
Bin heute einmal dazu gekommen alles zu ändern und habe auch die aktuelle backitup.sh vom 02.05.2018 mittels USB-Stick übertragen, jedoch bemängelt er nun folgendes in der backitup.sh:
19:50:39.694 [info] javascript.0 script.js.common.System.Backup_Version_2: OneClick Komplett Backup gestartet 19:50:39.804 [error] javascript.0 script.js.common.System.Backup_Version_2: /opt/iobroker/backitup.sh: line 2: /r>\r': command not found /opt/iobroker/backitup.sh: line 30: /r>\r': command not found /opt/iobroker/backitup.sh: line 31: /r>\r': command not found /opt/iobroker/backitup.sh: line 37: /r>\r': command not found /opt/iobroker/backitup.sh: line 52: /r>\r': command not found /opt/iobroker/backitup.sh: line 53: /r>\r': command not found /opt/iobroker/backitup.sh: line 56: /r>\r': command not found /opt/iobroker/backitup.sh: line 59: /r>\r': command not found /opt/iobroker/backitup.sh: line 62: /r>\r': command not found /opt/iobroker/backitup.sh: line 65: /r>\r': command not found /opt/iobroker/backitup.sh: line 68: /r>\r': command not found /opt/iobroker/backitup.sh: line 71: /r>\r': command not found /opt/iobroker/backitup.sh: line 72: /r>\r': command not found /opt/iobroker/backitup.sh: line 73: /r>\r': command not found /opt/iobroker/backitup.sh: line 79: /r>\r': command not found /opt/iobroker/backitup.sh: line 124: syntax error near unexpected token `elif' /opt/iobroker/backitup.sh: line 124: `elif [ $BKP_TYP == "komplett" ]; then ' 19:50:55.765 [info] javascript.0 Stop script script.js.common.System.Backup_Version_2
-
@quorle: Das ist die gleiche Fehlermeldung wie bei mir.
Mit dem geänderten Script sollte es wieder laufen.
Edit: Oh, die Files sind scheinbar aktuell nicht verfügbar. Wenn der Link wieder aktiv ist sollte es klappen.
-
Ich werde das testen, sobald die Links wieder online sind.
Die forumssoftware scheint auch aktuell ein paar Fehler zu haben, da mir der Code den ich hinzugefügt habe im Editor richtig angezeigt wurde, jedoch beim absenden verschoben wird.
Gesendet von iPhone mit Tapatalk
-
Habe den aktuellen Stand inkl. aller Änderungen wieder online gestellt, hoffe nun läuft alles
-
Danke.
Hast du an der Version zu meiner Version noch was geändert?
-
In der backitup.sh nicht,
In dem Javascript dem Widget-Export und der Anleitung ja. Aber eher Kosmetik. Habe im ersten Post nen Changelog mit aufgenommen da steht alles drin
-
Hast du in den Einstellungen des Scriptes irgendwas geändert? Denn dann könnte man nur den Teil nach den Einstellungen einfügen?
-
via konsole auf dem iobroker oder konsole auf der Raspberrymatic?
Versuch mal das neue Set, chaot hatte einen Fehler gefunden der bei Ihm das Komplette-Backup unmöglich machte vielleicht hatte das auch Auswirkungen auf dein Problem
Hallo,
hab ich probiert, leider ohne Erfolg. Raspberrymatic-Backup wird nicht erstellt, Komplett-Backup auch nicht. Nur Minimal.
Wenn ich allerdings das backitup.sh in der Konsole starte, wird ein Backup vonn der Raspberrymatic erstellt. Nur eine Fehlermeldung kommt:
./backitup.sh: Zeile 248: Backup-Pfad: Kommando nicht gefunden.
Dierse scheint aber kein Problem darzustellen.
Wenn ich das Komplett-Backup in der Konsole starte, siehts wie folgt aus:
pi@ioBroker-Pi:/opt/iobroker $ ./backitup.sh "komplett||5|192.168.188.24|backup|XXXXXX|XXXXXXX|||JA||||" komplett||5|192.168.188.24|backup|XXXXXX|XXXXXX|||JA|||| Backup-Pfad auf CIFS mounten umount: /opt/iobroker/backups: not mounted --- CIFS-Server verbunden --- Stopping iobroker controller daemon... iobroker controller daemon stopped. Exit code for "killall.sh": 123 --- IoBroker gestoppt --- --- Es wurde ein Komplettes Backup gestartet --- tar: Entferne führende „/“ von Elementnamen tar (child): 2018_05_11-17_42_17-backup_komplett.tar.gz: Funktion open fehlgeschlagen: Keine Berechtigung tar (child): Error is not recoverable: exiting now tar: 2018_05_11-17_42_17-backup_komplett.tar.gz: Funktion write fehlgeschlagen: Datenübergabe unterbrochen (broken pipe) tar: Child returned status 2 tar: Error is not recoverable: exiting now --- Backup Erstellt --- mv: das angegebene Ziel '/opt/iobroker/backups/backupiobroker_komplett-2018_05_11-17_42_17.tar.gz' ist kein Verzeichnis iobroker controller daemon already running. PID: 18103 --- IoBroker gestartet --- --- Alte Backups entfernen --- ./backitup.sh: Zeile 248: Backup-Pfad: Kommando nicht gefunden. --- Umount CIFS Server ---
Hier kommen mehrere Fehlermeldung und es wird auch kein Backup erstellt.
Hilft das evtl. weiter?
Gruß
Stefan
-
via konsole auf dem iobroker oder konsole auf der Raspberrymatic?
Versuch mal das neue Set, chaot hatte einen Fehler gefunden der bei Ihm das Komplette-Backup unmöglich machte vielleicht hatte das auch Auswirkungen auf dein Problem
Hallo,
hab ich probiert, leider ohne Erfolg. Raspberrymatic-Backup wird nicht erstellt, Komplett-Backup auch nicht. Nur Minimal.
Wenn ich allerdings das backitup.sh in der Konsole starte, wird ein Backup vonn der Raspberrymatic erstellt. Nur eine Fehlermeldung kommt:
./backitup.sh: Zeile 248: Backup-Pfad: Kommando nicht gefunden.
Dierse scheint aber kein Problem darzustellen.
Wenn ich das Komplett-Backup in der Konsole starte, siehts wie folgt aus:
pi@ioBroker-Pi:/opt/iobroker $ ./backitup.sh "komplett||5|192.168.188.24|backup|XXXXXX|XXXXXXX|||JA||||" komplett||5|192.168.188.24|backup|XXXXXX|XXXXXX|||JA|||| Backup-Pfad auf CIFS mounten umount: /opt/iobroker/backups: not mounted --- CIFS-Server verbunden --- Stopping iobroker controller daemon... iobroker controller daemon stopped. Exit code for "killall.sh": 123 --- IoBroker gestoppt --- --- Es wurde ein Komplettes Backup gestartet --- tar: Entferne führende „/“ von Elementnamen tar (child): 2018_05_11-17_42_17-backup_komplett.tar.gz: Funktion open fehlgeschlagen: Keine Berechtigung tar (child): Error is not recoverable: exiting now tar: 2018_05_11-17_42_17-backup_komplett.tar.gz: Funktion write fehlgeschlagen: Datenübergabe unterbrochen (broken pipe) tar: Child returned status 2 tar: Error is not recoverable: exiting now --- Backup Erstellt --- mv: das angegebene Ziel '/opt/iobroker/backups/backupiobroker_komplett-2018_05_11-17_42_17.tar.gz' ist kein Verzeichnis iobroker controller daemon already running. PID: 18103 --- IoBroker gestartet --- --- Alte Backups entfernen --- ./backitup.sh: Zeile 248: Backup-Pfad: Kommando nicht gefunden. --- Umount CIFS Server ---
Hier kommen mehrere Fehlermeldung und es wird auch kein Backup erstellt.
Hilft das evtl. weiter?
Gruß
Stefan `
Hast du die neue Version der „backitup.sh“ und des „Skriptes“ selbst verwendet?
Rechte der backitup.sh auf 777
Gesendet von iPhone mit Tapatalk