NEWS
[Vorlage] Backup - Script in der 2ten Version
-
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
-
scheinbar ist in der anderen Datei ein (oder mehrere) Fehler. `
Da war tatsächlich ein Dreher drin, das Problem ist dass ich im ersten Post wegen eines Fehlers in der Forum-Software leider die alten Dateien nicht löschen kann.
Bitte immer die aus dem Text meines Postes nehmen nicht die, die unter Dateianhänge aufgelistet sind.
-
Ich habe ja ursprünglich die Datei aus dem Tread genommen. Erst im zweiten Versuch dachte ich das ich eventuell eine alte Version aus den Dateianhängen versuchen könnte.
Ist die Datei jetzt geändert?
-
Alles was oberhalb von "Viel Spaß damit" steht ist der aktuelle Stand.
bspw. backitup.sh -> Stand 02.05
-
Mit Der Originaldatei sieht es so aus:
avascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 124: `elif [ $BKP_TYP == "komplett" ]; then ' javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 124: [u]Syntaxfehler beim unerwarteten Wort `elif'[/u] javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 79: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 73: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 72: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 71: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 68: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 65: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 62: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 59: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 56: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 53: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 52: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 37: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 31: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error /opt/iobroker/backitup.sh: Zeile 30: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.826 error script.js.Sicherung.Backup: /opt/iobroker/backitup.sh: Zeile 2: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:25:05.690 info script.js.Sicherung.Backup: OneClick Minimal Backup gestartet
In der Fassung steht immer noch an zwei Stellen "elif" das er bemängelt und ansonsten kommt diese Meldung:
javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 256: [i]Syntax Fehler: Unerwartetes Dateiende[/i]. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 79: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 73: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 72: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 71: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 68: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 65: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 62: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 59: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 56: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 53: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 52: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 37: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 31: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error /opt/iobroker/backitup.sh: Zeile 30: /r>\r': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.594 error script.js.Sicherung.Backup: /opt/iobroker/backitup.sh: Zeile 2:[u] /r>\r[/u]': Kommando nicht gefunden. javascript.0 2018-05-07 06:22:27.452 info script.js.Sicherung.Backup: OneClick Minimal Backup gestartet unifi.0 2018-05-07 06:22:04.119 info getAccessDevices: 1
Also unverändert.
Deshalb meine Frage.
-
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