NEWS
[Vorlage] Backup - Script in der 2ten Version
-
Hallo, habe schon die vorgänger version am Laufen…Tolle Sache und das liest sich auch sehr spannend...
Funktioniert das Backup auch für die pivCCU 2.31.25 auf dem tinkerboard? Oder geht das nur mit Rasperymatic?
Danke `
Also was ich weis, geht es nur mit raspberrymatic. Stehe vor dem selben Problem mit pivccu. Aber der Ersteller ist an einer Lösung.
Gesendet von iPhone mit Tapatalk `
Genau so ist es!
-
Via Konsole:
ich nehme die Befehle aus deinem backitup.sh und tippe sie 1:1 in die Konsole ein und er erstellt ein Backup, ohne vorrangiges "sudo"
Via VIS klappt das nicht. Denn er stoppt den io.Broker und dann macht er immer noch nichts und es kommt auch keine Fehlerausgabe.
Nun Habe ich in der Backitup.sh den "STOP" und "START" auskommentiert und es wird ein Backup erstellt. Jedoch ist dies in meinen Augen nicht die tollste Lösung. ` Ich hatte es eigentlich immer so ohne den iobroker zu stoppen und wenn ich ehrlich bin konnte ich nie wirklich feststellen dass irgendetwas bei einem Testrestor gefehlt hätte. Den Stop und den Start habe ich eingebaut weil es damals hieß es wäre so richtig.
Aber die MYSQL-Datenbank wird nicht auf die NAS geschoben. Woran kann dies liegen? `
Die Mysql-Datenbank ist auf dem localhost?Und das Backup liegt auch auf dem iobroker dann in backups?
Was hast du für eine Hardware? Rpi3?
Auch die History funktioniert leider nicht so wie sie soll, bei dir sind ja Farben im Spiel, da gibt es bei mir nur graue Schrift. `
Hier kann ich dir ganz einfach helfen, ich habe das via css gemacht:.backup_history{ display:block; width:100%; /* overflow-y:scroll; */ } .bkptyp_minimal { float:left; color:white; font-size:18px; } .bkptyp_komplett { float:left; color:yellow; font-size:18px; } .bkptyp_raspberrymatic { float:left; color:red; font-size:18px; }
-
` > Die Mysql-Datenbank ist auf dem localhost?
Und das Backup liegt auch auf dem iobroker dann in backups?
Was hast du für eine Hardware? Rpi3? `
Ja ich es läuft alles auf einem RPI3.
Backup von MYSQL und io.Broker liegt auf dem RPI und zusätzlich wird <u>nur</u> das Backup vom io.Broker auf die NAS übertragen, dass Backup von MYSQL wird <u>nicht</u> auf die NAS übertragen.
Super, die History sieht jetzt deutlich besser und übersichtlicher aus vielen lieben Dank
-
Arghh
Ich krieg das Backup der Raspberrymatic nicht hin.
Führe ich den Befehl
bash /opt/iobroker/backitup.sh "raspberrymatic||5|IP-FTP||USERFTP|PWFTP|IP-Raspberrymatic|PW-HM|NEIN||||"
(IP's, User und PW hab ich hier ersetzt) funktioniert der Backup und wird auch übertragen auf den FTP
Mach ich das über den importierten VIS Button seh ich im LOG genau diese Zeile auch, aber es passiert nichts.
Was vlt auch vielen das einbinden der Raspberrymatic erleichtert:
Einmal vom IOBroker über ssh auf den Raspberrymatic verbinden
und den ECDSA Fingerprint bestätigen.
ssh root@IP-Adresse_des_Raspberrymatic
Ich musste in der Backitup.sh folgendes ändern (da ich kein Recht beim Kopieren über sshpass auf das Verzeichnis backups
hatte (liegt vlt daran, das der Raspberrymatic auf einem BananaPI läuft, da gibt es den User root in dem Image so nicht):
Kopieren des Backups auf IoBroker Maschine
sshpass -p "$RASP_PASS" scp -r root@$RASP_HOST:/tmp/bkp/* /opt/iobroker/backups/
sshpass -p "$RASP_PASS" scp -r root@$RASP_HOST:/tmp/bkp/* /home/io/hm/
sudo mv /home/io/hm/* /opt/iobroker/backups/
ABER wie gesagt geht es nicht über VIS. Die anderen Backups (minimal und komplett funktionieren).
Scripte und Dateien sind vom ersten Post.
Gruß Peter
3832_iobroker_hm_backup.jpg -
Arghh
Ich krieg das Backup der Raspberrymatic nicht hin.
Führe ich den Befehl
bash /opt/iobroker/backitup.sh "raspberrymatic||5|IP-FTP||USERFTP|PWFTP|IP-Raspberrymatic|PW-HM|NEIN||||"
(IP's, User und PW hab ich hier ersetzt) funktioniert der Backup und wird auch übertragen auf den FTP
Mach ich das über den importierten VIS Button seh ich im LOG genau diese Zeile auch, aber es passiert nichts.
Was vlt auch vielen das einbinden der Raspberrymatic erleichtert:
Einmal vom IOBroker über ssh auf den Raspberrymatic verbinden
und den ECDSA Fingerprint bestätigen.
ssh root@IP-Adresse_des_Raspberrymatic `
Die Bestätigung des Fingerprints sollte eigentlich nicht notwendig sein, deshalb habe ich ja ssh-pass verwendet um genau das zu umgehen.Ich musste in der Backitup.sh folgendes ändern (da ich kein Recht beim Kopieren über sshpass auf das Verzeichnis backups
hatte (liegt vlt daran, das der Raspberrymatic auf einem BananaPI läuft, da gibt es den User root in dem Image so nicht): `
Wie funktioniert es dann mit den rechten auf dem BananaPi?Wenn man sudo passwd in der Konsole eingiebt was passiert dann?
-
Hi Steffen,
Nachdem ich den Banana mal "Kalt" Rebootet hab funktionieren alle Backups. Root User gibts doch , allerdings ist der im IOBroker Image nirgends mit PW aufgelistet. Hab ich jetzt geändert
Trotz sshpass gehen die Verbindungen vom IOBroker zum Rasperrymatic bei mir erst seit dem austausch des Fingerprint. Aber ist ja nicht weiter
tragisch. Falls jemand halt das gleiche Problem hat, kann er es unter Umständen über diesen Weg lösen.
UND….. Super Arbeit dieses Script. Jetzt hab ich wenigstens immer genug Backups, vor allem aktuelle ...
Danke für die Unterstützung.
Gruß Peter
-
…
Danke für die Unterstützung.
Gruß Peter `
Wenn du mir nochmal die genauen Abläufe/Reihenfolgen/Befehle/Änderungen sagen könntest, würde ich das in die Anleitung mit aufnehmen, denn das würde bestimmt dem Einen oder Anderen helfen
-
ich bekomme folgende Fehler wenn ich das Script starte:
javascript.0 2018-05-18 17:21:18.489 error at ContextifyScript.Script.runInContext (vm.js:35:29) javascript.0 2018-05-18 17:21:18.489 error at script.js.User.Verschiedene.Backup:418:1 javascript.0 2018-05-18 17:21:18.488 error at $ (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:554:34) javascript.0 2018-05-18 17:21:18.487 error at Object.getObjectEnumsSync (/opt/iobroker/node_modules/iobroker.javascript/lib/eventObj.js:20:38) javascript.0 2018-05-18 17:21:18.487 error ReferenceError: context is not defined javascript.0 2018-05-18 17:21:18.487 error ^ javascript.0 2018-05-18 17:21:18.487 error for (let i = 0, l = context.enums.length; i < l; i++) { javascript.0 2018-05-18 17:21:18.486 error script.js.User.Verschiedene.Backup: /opt/iobroker/node_modules/iobroker.javascript/lib/eventObj.js:20
Weiß einer wonach ich genau suchen soll um den Fehler weg zu bekommen?
-
…
Danke für die Unterstützung.
Gruß Peter `
Wenn du mir nochmal die genauen Abläufe/Reihenfolgen/Befehle/Änderungen sagen könntest, würde ich das in die Anleitung mit aufnehmen, denn das würde bestimmt dem Einen oder Anderen helfen `
Hier ist das was ich zusätzlich zu deiner Anleitung noch gemacht habe. Wie gesagt, war bei mir so, aber vlt hilft das dem einen oder anderen.
Bei FTP-Verbindungen zur Fritzbox muss SSL ausgeschaltet werden.
Am besten einen eigenen USER in der Fritzbox für den Zugriff
auf den angeschlossenen Datenträger anlegen.
Die Datei lftp.conf bearbeiten:
nano /etc/lftp.conf
am Ende folgendes einfügen:
set ftp:ssl-allow false
Für den Zugriff vom IOBroker vom BananaPI zum Raspberrymatic:
sshpass laut Anleitung installieren.
Am besten dem Root vom IOBroker das gleiche PW zuteilen wie auf dem
Raspberrymatic (vereinfacht manche andere Verbindungen aufgrund der
Rechte und dem gleichen PW).
Rechte anpassen (sonst gibt es Probleme beim kopieren des Rapsberrymatic
Image –-> keine Berechtigung):
sudo nano /etc/sudoers
Danach sucht man den folgenden Abschnitt und trägt unterhalb der Zeile, die mit root beginnt,
den gewünschten Benutzer (beim Images des IOBroker für den BananaPI ist es der USER io) ein:
User privilege specification
root ALL=(ALL:ALL) ALL
io ALL=(ALL:ALL) ALL
Einmal vom IOBroker über ssh auf den Raspberrymatic verbinden
und den ECDSA Fingerprint mit yes bestätigen.
ssh root@IP-Adresse_des_Raspberrymatic
Danach am bestens das System herunterfahren und neu booten.
Gruß Peter
-
Ich habe aktuell drei Probleme:
Bei mir wird unter "/opt/" eine Sicherungsdatei angelegt mit den Rechten "666". Die werden nicht auf den FTP verschoben und sind auch nicht im Ordner "/opt/ioBroker/Backups/" zu finden.
Ein komplettes Backup hat 136.008.581 Bytes und besteht aus ca. 50.000 Dateien.
Ein minimal Backup hat 863.533 Bytes und besteht aus einem Ordner /backup/files/ der leer ist und einer Datei "backup.json" mit 9.335.899 Bytes.
Da fehlen doch irgendwie Daten oder ist die "Minimal" wirklich so minimalistisch?
Auf die Fritzbox als NAS wird das "minimal" ohne Probleme hochgeladen. Das vollständige Backup allerdings nicht.
Beide Einstellung sind identisch mit gleichem User, Ordner und nicht als CIFS Mount (mit CIFS Funktioniert nicht).
` > javascript.0 2018-05-18 22:11:57.982 info –- Backup-Pfad wurde nicht vom CIFS-Server getrennt ---
javascript.0 2018-05-18 22:11:57.982 info backupiobroker_minimal-2018_05_18-02_00_10.tar.gz
javascript.0 2018-05-18 22:11:57.982 info backupiobroker_komplett-2018_05_18-22_09_05.tar.gz
javascript.0 2018-05-18 22:11:57.982 info backupiobroker_komplett-2018_05_17-23_59_31.tar.gz
javascript.0 2018-05-18 22:11:57.982 info --- Backup-File FTP-Upload ---
javascript.0 2018-05-18 22:11:57.982 info --- Alte Backups entfernen ---
javascript.0 2018-05-18 22:11:57.982 info --- IoBroker gestartet ---
javascript.0 2018-05-18 22:11:57.982 info --- Backup Erstellt ---
javascript.0 2018-05-18 22:11:57.982 info --- Es wurde ein Komplettes Backup gestartet ---
javascript.0 2018-05-18 22:11:57.982 info --- IoBroker gestoppt ---
javascript.0 2018-05-18 22:11:57.982 info --- Backup-Pfad wurde nicht auf CIFS-Server verbunden ---
javascript.0 2018-05-18 22:11:57.982 info script.js.Sicherung.Backup: exec: komplett||5|192.168.xxx||ftpuser|xxxxxx|||NEIN|||| `
-
ich bekomme folgende Fehler wenn ich das Script starte:
javascript.0 2018-05-18 17:21:18.489 error at ContextifyScript.Script.runInContext (vm.js:35:29) javascript.0 2018-05-18 17:21:18.489 error at script.js.User.Verschiedene.Backup:418:1 javascript.0 2018-05-18 17:21:18.488 error at $ (/opt/iobroker/node_modules/iobroker.javascript/lib/sandbox.js:554:34) javascript.0 2018-05-18 17:21:18.487 error at Object.getObjectEnumsSync (/opt/iobroker/node_modules/iobroker.javascript/lib/eventObj.js:20:38) javascript.0 2018-05-18 17:21:18.487 error ReferenceError: context is not defined javascript.0 2018-05-18 17:21:18.487 error ^ javascript.0 2018-05-18 17:21:18.487 error for (let i = 0, l = context.enums.length; i < l; i++) { javascript.0 2018-05-18 17:21:18.486 error script.js.User.Verschiedene.Backup: /opt/iobroker/node_modules/iobroker.javascript/lib/eventObj.js:20
Weiß einer wonach ich genau suchen soll um den Fehler weg zu bekommen? `
Hast du den Fehler von Anfang an oder kam der mit der Zeit?
-
…
Danke für die Unterstützung.
Gruß Peter `
Wenn du mir nochmal die genauen Abläufe/Reihenfolgen/Befehle/Änderungen sagen könntest, würde ich das in die Anleitung mit aufnehmen, denn das würde bestimmt dem Einen oder Anderen helfen `
Hier ist das was ich zusätzlich zu deiner Anleitung noch gemacht habe. Wie gesagt, war bei mir so, aber vlt hilft das dem einen oder anderen.
Bei FTP-Verbindungen zur Fritzbox muss SSL ausgeschaltet werden.
Am besten einen eigenen USER in der Fritzbox für den Zugriff
auf den angeschlossenen Datenträger anlegen.
Die Datei lftp.conf bearbeiten:
nano /etc/lftp.conf
am Ende folgendes einfügen:
set ftp:ssl-allow false
Für den Zugriff vom IOBroker vom BananaPI zum Raspberrymatic:
sshpass laut Anleitung installieren.
Am besten dem Root vom IOBroker das gleiche PW zuteilen wie auf dem
Raspberrymatic (vereinfacht manche andere Verbindungen aufgrund der
Rechte und dem gleichen PW).
Rechte anpassen (sonst gibt es Probleme beim kopieren des Rapsberrymatic
Image –-> keine Berechtigung):
sudo nano /etc/sudoers
Danach sucht man den folgenden Abschnitt und trägt unterhalb der Zeile, die mit root beginnt,
den gewünschten Benutzer (beim Images des IOBroker für den BananaPI ist es der USER io) ein:
User privilege specification
root ALL=(ALL:ALL) ALL
io ALL=(ALL:ALL) ALL
Einmal vom IOBroker über ssh auf den Raspberrymatic verbinden
und den ECDSA Fingerprint mit yes bestätigen.
ssh root@IP-Adresse_des_Raspberrymatic
Danach am bestens das System herunterfahren und neu booten.
Gruß Peter `
Super Danke!
Ich nehme es in die Anleitung mit auf.
-
Ich habe aktuell drei Probleme:
Bei mir wird unter "/opt/" eine Sicherungsdatei angelegt mit den Rechten "666". Die werden nicht auf den FTP verschoben und sind auch nicht im Ordner "/opt/ioBroker/Backups/" zu finden.
Ein komplettes Backup hat 136.008.581 Bytes und besteht aus ca. 50.000 Dateien.
Ein minimal Backup hat 863.533 Bytes und besteht aus einem Ordner /backup/files/ der leer ist und einer Datei "backup.json" mit 9.335.899 Bytes.
Da fehlen doch irgendwie Daten oder ist die "Minimal" wirklich so minimalistisch?
Auf die Fritzbox als NAS wird das "minimal" ohne Probleme hochgeladen. Das vollständige Backup allerdings nicht.
Beide Einstellung sind identisch mit gleichem User, Ordner und nicht als CIFS Mount (mit CIFS Funktioniert nicht).
` > javascript.0 2018-05-18 22:11:57.982 info –- Backup-Pfad wurde nicht vom CIFS-Server getrennt ---
javascript.0 2018-05-18 22:11:57.982 info backupiobroker_minimal-2018_05_18-02_00_10.tar.gz
javascript.0 2018-05-18 22:11:57.982 info backupiobroker_komplett-2018_05_18-22_09_05.tar.gz
javascript.0 2018-05-18 22:11:57.982 info backupiobroker_komplett-2018_05_17-23_59_31.tar.gz
javascript.0 2018-05-18 22:11:57.982 info --- Backup-File FTP-Upload ---
javascript.0 2018-05-18 22:11:57.982 info --- Alte Backups entfernen ---
javascript.0 2018-05-18 22:11:57.982 info --- IoBroker gestartet ---
javascript.0 2018-05-18 22:11:57.982 info --- Backup Erstellt ---
javascript.0 2018-05-18 22:11:57.982 info --- Es wurde ein Komplettes Backup gestartet ---
javascript.0 2018-05-18 22:11:57.982 info --- IoBroker gestoppt ---
javascript.0 2018-05-18 22:11:57.982 info --- Backup-Pfad wurde nicht auf CIFS-Server verbunden ---
javascript.0 2018-05-18 22:11:57.982 info script.js.Sicherung.Backup: exec: komplett||5|192.168.xxx||ftpuser|xxxxxx|||NEIN||||
1. Das Backup "minimal" kann durchaus so klein sein.
2. Hast du die aktuellen Datein ( backitup.sh und Javascript ) in der aktuellen Version?
3. Hast du die backitup.sh mittels FTP, oder USB-Stick in den Ordner /opt/iobroker auf den RPI gelegt? Nicht über copy & paste !
4. Sind die Rechte der backitup.sh auf 777
5. Existiert der Ordner /opt/iobroker/backups auf dem RPI
-
Ich habe aktuell drei Probleme:
Bei mir wird unter "/opt/" eine Sicherungsdatei angelegt mit den Rechten "666". Die werden nicht auf den FTP verschoben und sind auch nicht im Ordner "/opt/ioBroker/Backups/" zu finden. `
Ich weis jetzt nicht ob das von dir ein Tippfehler ist aber der Ordner muss /opt/iobroker/backups/ in klein heissen.Ein minimal Backup hat 863.533 Bytes und besteht aus einem Ordner /backup/files/ der leer ist und einer Datei "backup.json" mit 9.335.899 Bytes.
Da fehlen doch irgendwie Daten oder ist die "Minimal" wirklich so minimalistisch? `
Zum Vergleich würde ich einfach unter /opt/iobroker/ einfach mal "./iobroker backup" ausführen das ist der originale backup befehl von iobroker selbst welcher durch die backitup.sh aufgerufen wird. Das File heißt dann zwar anders aber so hättest du die Größe.Auf die Fritzbox als NAS wird das "minimal" ohne Probleme hochgeladen. Das vollständige Backup allerdings nicht.
Beide Einstellung sind identisch mit gleichem User, Ordner und nicht als CIFS Mount (mit CIFS Funktioniert nicht). `
Lösche mal alle kompletten Backups aus dem /opt/iobroker/backups/ Verzeichnis und starte mal ein komplettes via Button.Ich hatte auch schon den Fehler und nach dem löschen war er weg obwohl über die zeit dort wieder mehrere Backups des typs komplett lagen.
-
Nein, das ist kein Schreibfehler.
Ich habe tatsächlich im Ordner "/opt/" Backups liegen.
Wie die dahinkommen kann ich mir auch nicht erklären. Ich habe sie jetzt per Putty und mc gelöscht und werde das mal beobachten.
Unter "/opt/ioBroker/backups/" liegen ganz normal die Backups.
Mit der Größe muss ich mal austesten.
Mit deinem Befehl kommt
pi@Haus:/opt/iobroker $ ./iobroker backup ./iobroker: Zeile 1: 416 Getötet node node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5
Löschen werde ich morgen mal testen
Edit sagt:
Löschen hat funktioniert.
Die Dateien unter "/opt/" scheinen fehlgeschlagene Backups zu sein. Ich habe eben beobachtet das das Backup zuerst dort geschrieben wird bevor es in der Ordner "/opt/iobroker/backups/" geschoben wird.
-
pi@Haus:/opt/iobroker $ ./iobroker backup ./iobroker: Zeile 1: 416 Getötet node node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5 ```` `
Das ist wirklich komisch, denn das ist der Backupbefehl der original in iobroker implementiert ist.
-
pi@Haus:/opt/iobroker $ ./iobroker backup ./iobroker: Zeile 1: 416 Getötet node node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5 ```` `
Das ist wirklich komisch, denn das ist der Backupbefehl der original in iobroker implementiert ist.
Könnte es vielleicht am fehlen des exec-Befehles liegen, den man im js-Modul eingeben muss?
Beziehungsweise was bei mir bislang meistens bei Problemen geholfen hat ist ein kompletter, sauberer Reboot des RPI.
Gesendet von iPhone mit Tapatalk
-
pi@Haus:/opt/iobroker $ ./iobroker backup ./iobroker: Zeile 1: 416 Getötet node node_modules/iobroker.js-controller/iobroker.js $1 $2 $3 $4 $5 ```` `
Das ist wirklich komisch, denn das ist der Backupbefehl der original in iobroker implementiert ist.
Könnte es vielleicht am fehlen des exec-Befehles liegen, den man im js-Modul eingeben muss?
Beziehungsweise was bei mir bislang meistens bei Problemen geholfen hat ist ein kompletter, sauberer Reboot des RPI. `
Den Exec-Befehl braucht nur das Javascript zum Ausführen des Backupscripts. Das iobroker eigene Backup eigentlich nicht. -
Was passiert denn wenn du das Backup uber die Konsole mit deinen Parametern direkt ausführst? Da erkennst du am schnellsten, ob es Probleme mit Berechtigungen gibt.
z.B.:
bash /opt/iobroker/backitup.sh "raspberrymatic||5|192.168.xxx.xxx||USER|PW1|192.168.xxx.xxx|PW2|NEIN||||"
(nicht genau diesen nehmen, dieser ist für Raspberrymatic, aber du siehst den richtigen String im LOG vom javascript)
Gruß Peter
-
Guten Abend zusammen,
die Funktionalität des ioBrokers als Erweiterung zur bestehenden HM-Welt und den damit verbundenen Möglichkeiten hat faszinierende Elemente.
Nachdem die Anbindung und die ersten Schritte getan sind beschäftigt mich das Thema Sicherung um die bereits erfolgte und um die zukünftige Einrichtung auch für den Ernstfall gesichert zu haben.
Entsprechend der Anleitung wurde die Einrichtung vorgenommen. An dieser Stelle vielen Dank für Scripte und Anleitung.
Zum Einsatz kommen
Raspberrymatic 2.31.25.20180428
ioBroker 3.3.5
2x Pi3B
Backitup-Script-Set_Stand_10.05.2018.zip
Was bisher funktioniert
Standard Backup aus VIS inklusiv kopieren auf NAS per ftp
Komplett Backup, jedoch nur über Konsolausführung inklusiv kopieren auf NAS
Raspberrymatic Backup, über VIS + Konsole -> jedoch kein Kopieren auf NAS (Funktion nach Umsetzung des Hinweis: "Einmal vom IOBroker über ssh auf den Raspberrymatic verbinden und den ECDSA Fingerprint bestätigen per ssh root@IP-Adresse_des_Raspberrymatic" von Peter alias fraeggle)
Was nicht funktioniert
Komplett Backup per VIS
Ebenso kann ich die Timer nicht zur Zusammenarbeit bewegen.
Der Status des Button "Komplett Backup" bleibt nach erstmaligen ausführen auf Status "Komplett Backup wird erstellt". Hier hat auch der Neustart des kpl. Systems keine Abhilfe gebracht.
Frage: Die Backups liegen alle im Verzeichnis /opt/iobroker/backups und scheinen da auch zu verbleiben obwohl hier bereits 5 alte des gleichen Typs vorhanden sind. Sollte hier nicht das älteste gelöscht werden?
Wäre prima, wenn es mit Eurer fachkundigen Unterstützung gelingt die volle Funktionalität zu bekommen. Vielen Dank.
Jürgen