NEWS
[Vorlage] Backitup nun in der 3ten Version
-
Hi Leute,
Simatec und Ich haben nun die Version 3 der Backuproutine auf Github online gestellt, wer mutig ist darf sie gerne Testen.
Hier mal ein Überblick der Änderungen/Neuerungen:
-
Für den Ftp-Upload wird der lftp-Dienst nicht mehr benötigt
-
Für das CCU - Backup wird der ssh-Dienst nicht mehr benötigt
-
Es können folgende CCU-Varianten gesichert werden: Orginal CCU/ pivCCU / Raspberrymatic
-
Es sind normalerweise keine Einträge im Javascript mehr zu machen, wurde fast alles in Datenpunkte ausgelagert
-
Der Backupzyklus wurde für jedes Backup auf "alle X Tage" geändert was die Sache viel übersichtlicher macht
-
Beim komplett-Backup kann nun eingestellt werden ob der IoBroker zuvor gestoppt und danach wieder gestartet werden soll
…
Auf Grund der ganzen Änderungen sind die Vorgängerversion und die Version3 nicht kompatibel. Ihr müsst vorher alle Datenpunkte, Eum(Aufzählungen), Widget-Exports und das Javascript sowie die backitup.sh löschen und die neuen Versionen auf Github nutzen!
Bei Problemen oder gefunden Fehlern wäre es toll die Issue - Funktion auf Git zu nutzen wer dort nicht registriert ist, kann sich natürlich auch gerne hier melden.
Hier der Link zu Github:https://github.com/peoples0815/backitup
-
-
Hier mal noch ein paar Screenshots der VIS.
-
Hallo,
da ich mit Github nicht so wirklich klar komme, mal auf diesem Wege ein - vielleicht blöde - Frage: Wo trage ich denn nun in Zukunft die Daten für meine Synology ein? Vor dem Block "Nichts mehr ändern!" im Programmcode sehe ich keine Möglichkeit, IP-Adresse, FTP-User, Passwort , etc einzutragen. Oder verstehe ich da etwas nicht?
Ahnungslos
Strizz
-
die Config machst du jetzt nicht mehr im Script sondern machst du unter Objekten.
Das Script einmalig starten und nachdem er die Objekte erstellt hat kannst da deine Config eintragen.
-
Anscheinend habe ich die Anleitung da recht unverständlich geschrieben, da werde ich nochmal nachbessern!
Es ist immer schwierig Unverständlichkeiten zu finden wenn man sich das zu Beschreibende selbst ausgedacht hat :lol:
Wie schon beschrieben einfach das abgespeicherte Javascript einfach mal starten und wieder stoppen dann werden folgende Datenpunkte angelegt:
Und deine Sachen dann hier eintragen
-
Hallo Steffen,
danke für die schelle Antwort. Werde ich gleich mal ausprobieren.
Gruß
Strizz
-
Hier mal der direkte Link zur Readme, für alle die sich mit dem Github nicht so gut auskennen.
-
Hallo Steffen,
danke für die schelle Antwort. Werde ich gleich mal ausprobieren.
Gruß
Strizz `
Ich hab das mal in der Anleitung umgeschrieben schau es dir mal an und sag ob das so verständlicher ist.
Dank dir!
-
Hallo Steffen,
Start und Stop des Scriptes bewirkt bei mir leider nur Folgendes: Unter Javascript.0 wird ein Verzeichnis 'System' mit einem Unterverzeichnis 'Iobroker' angelegt. Das Verzeichnis 'Iobroker' ist leer.
Habe das Script mehrfach laufen lassen. Es kommen keine Fehlermeldungen.
Hast du noch eine Idee, wo es haken könnte?
Gruß
Strizz
-
Hallo Steffen,
Start und Stop des Scriptes bewirkt bei mir leider nur Folgendes: Unter Javascript.0 wird ein Verzeichnis 'System' mit einem Unterverzeichnis 'Iobroker' angelegt. Das Verzeichnis 'Iobroker' ist leer.
Habe das Script mehrfach laufen lassen. Es kommen keine Fehlermeldungen.
Hast du noch eine Idee, wo es haken könnte?
Gruß
Strizz `
Aktualisiere mal deine Objekte oben links im iobroker …
Gesendet von iPhone mit Tapatalk
-
Danke, das war es.
Werde jetzt mal weiter testen.
Strizz
-
Hallo Steffen,
Nur zur Info: Wenn ich das Programm jetzt starte, erhalte ich folgende Warnhinweise:
Der Datenpunkt BackitUp_V3 liegt bei mir allerdings auch unter javascript.0 > scriptEnabled > common > System.
Das Backup wird allerdings gemacht. Nur mit dem Kopieren auf die NAS hapert es zur Zeit noch.
Gruß
Strizz
-
wenn du das Script woanders hast musst du den veränderten Ort im Script anpassen.
Zeile 330, 331 sollte das sein
-
Der Datenpunkt BackitUp_V3 liegt bei mir allerdings auch unter javascript.0 > scriptEnabled > common > System. `
Verschiebe den Javascript mal bitte nach scriptEnabled.BackitUp_V3 (also ins Hauptverzeichnis.
Alternativ kannst du auch hier im Script den Pfad anpassen.
` > function WerteAktuallisieren() {
setState(instanz + "scriptEnabled.BackitUp_V3", false);
setStateDelayed(instanz + "scriptEnabled.BackitUp_V3", true, 1000); `
Das Backup wird allerdings gemacht. Nur mit dem Kopieren auf die NAS hapert es zur Zeit noch. `
Wo liegen genau deine Probleme?
Poste mal bitte deine Konfiguration.
-
Ich weiß dass wir als "Echte Männer" keine Anleitungen lesen und da nehme ich mich nicht aus, aber dass der Pfad für Script enabled angepasst werden muss steht da drin :lol:
Einmal unter Konfiguration und einmal bei möglichen Fehlern
-
Sorry, habe ich tatsächlich nicht gelesen. Habe nur gelesen, "ab hier nichts mehr ändern!" oder ähnlich. Da halte ich mich dann dran.
Das Script ist jetzt aber angepasst und läuft. D.h. die ad-hoc-Backups funktieren und werden auch auf meine Synology verschoben. Allerdings funktioniert das nur, wenn ich den Pfad ohne Volume-Namen eintrage, also '/backups/iobroker' und nicht '/volume1/backups/iobroker'. Auch war mir nicht bewusst, dass ich nach jeder Änderung der Konfigurationsdatenpunkte das Script neustarten muss, damit die neuen Werte übernommen werden. Steht wahrscheinlich aber auch in der Installationsanweisung.
Danke für die Hilfe und die tolle Arbeit.
Gruß
Strizz
-
Allerdings funktioniert das nur, wenn ich den Pfad ohne Volume-Namen eintrage, also '/backups/iobroker' und nicht '/volume1/backups/iobroker'. `
Nutzt du CIFS oder FTP?
Auch war mir nicht bewusst, dass ich nach jeder Änderung der Konfigurationsdatenpunkte das Script neustarten muss, damit die neuen Werte übernommen werden. Steht wahrscheinlich aber auch in der Installationsanweisung. `
Dann stimmt der Speicherort deines Scripts noch immer nicht mit dem im Script überein.
Wenn der passt, startet der Script automatisch bei Änderungen neu (ähnlich eines Adapters).
Prüfe das noch mal bitte und poste mal den Speicherort und die Zeilen im Script (siehe meines letzten Beitrags)
-
Das mit der Synology ohne die volume Angabe ist bei mir identisch
-
Hallo,
ich habe einige Anpassungen für das Skript.
Pfad
Ich habe meinen ioBroker auf dem Macmini unter OS X laufen. Der Pfad wird dann so geschrieben (ioBroker liegt im User-Ordner Dokumente):
var bash_script = 'bash /Users/pix/Documents/iobroker/backitup.sh '; // Pfad zu backup.sh Datei (OS X)
Diese Änderung muss auch im Bash Skript vorgenommen werden.
Instanz
Zum Test habe ich das Skript in der Javascript.2 Instanz laufen. Kann man mit dem Befehl instance auch "verskripten" (https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#instance), muss aber nicht, da keine Vereinfachung für den Nutzer.
Skript Neustart
Die Funktion WerteAktualliesieren() nutzt die Datenpunkte Scriptenabled für den Neustart des Skriptes. Dazu muss der Name des Skriptes (falls geändert) eingegeben werden. Das kann an umgehen durch die ioBroker Funktion name() (https://github.com/ioBroker/ioBroker.javascript/blob/master/doc/en/javascript.md#name).````
WerteAktuallisieren();
function WerteAktuallisieren() {
let skriptname = name; // script.js.Test.Test_BackitupV3_peoples
//startScript(skriptname, false); // dieses Skript wird neu gestartet <---- Ausprobieren, kann zu einer Schleife führen
setState(name, false);
setStateDelayed(name, true, 1000);
}****Log**** Schön wäre noch eine Subscription on() auf die BackupState-Objekte (boolean). Kurze Log-Ausgabe, wenn das Backup in VIS ein/ausgeschaltet wurde. Regex bietet sich an
/*
BEOBACHTEN DER BackupState Datenpunkte
für LOG-Ausgabe
*/
on({id: /.BackupState$/,
change: 'ne'
}, function(obj) {
if (obj.state.val) log(obj.common.name + " eingeschaltet");
if (!obj.state.val) log(obj.common.name + " ausgeschaltet");
});****Tests**** exec im Javascript-Adapter erlaubt. 1) Minimal backup Funktioniert leider nicht. Kann am Mac liegen. >! ```` 2018-06-19 19:06:18.628 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: OneClick Minimal Backup gestartet 2018-06-19 19:06:18.631 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: bash /Users/pix/Documents/iobroker/backitup.sh "minimal||5||||||||false|||||5" 2018-06-19 19:06:18.638 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: backup_erstellen(minimal,,5,,,,,,,,false,,,,,5) 2018-06-19 19:06:28.739 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: exec: minimal||5||||||||false|||||5 --- Es wurde ein Normales Backup gestartet --- error --- Ein normales Backup konnte nicht erstellt werden --- --- Alte Backups entfernen --- success --- Ueberpruefung auf alte Dateien und loeschen erfolgreich ---
- Komplett Backup
Funktioniert leider nicht. Kann am Mac liegen.
! ````
2018-06-19 18:57:52.830 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: OneClick Komplett Backup gestartet
2018-06-19 18:57:52.834 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: bash /Users/pix/Documents/iobroker/backitup.sh "komplett||5||||||||false|true||||5"
2018-06-19 18:57:52.841 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: backup_erstellen(komplett,,5,,,,,,,,false,true,,,,5)
2018-06-19 18:58:12.977 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: exec: komplett||5||||||||false|true||||5
--- IoBroker gestoppt ---
--- Es wurde ein Komplettes Backup gestartet ---
error --- Ein komplettes Backup konnte nicht erstellt werden ---
--- IoBroker gestartet ---
--- Alte Backups entfernen ---
success --- Ueberpruefung auf alte Dateien und loeschen erfolgreich ---3) CCU-Backup Das CCU Backup funktioniert leider nicht. Kann am Mac liegen. Konfiguration korrekt vorgenommen. Fehler-Log: >! ```` 2018-06-19 18:53:58.045 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: OneClick CCU Backup gestartet 2018-06-19 18:53:58.048 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: bash /Users/pix/Documents/iobroker/backitup.sh "ccu||5||||||||false|||||5" 2018-06-19 18:53:58.056 - [32minfo[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: backup_erstellen(ccu,,5,,,,,,,,false,,,,,5) 2018-06-19 18:53:58.177 - [31merror[39m: javascript.2 script.js.Test.Test_BackitupV3_peoples: cat: hm.login.response: No such file or directory cat: hm.login.response: No such file or directory >! ```` ****VIS**** Mein kleines iPad hat nicht genug Auflösung für die zur Verfügung gestellten Widgets. Ich habe etwas umgebaut und das Design an meine Bedürfnisse angepasst. Screenshot: ![261_vis.png](/assets/uploads/files/261_vis.png) Wie man im Screenshot sieht, habe ich schonmal angefangen, die Startzeiten in den Wertelisten anzupassen. Statt der "glatten" Zeiten zur vollen, viertel, halben und dreiviertel Stunde, habe ich jeweils 2min draufgeschalgen. Schließlich wird der ioBroker ggf. gestoppt. Da aber zu diesen runden Zeiten viele andere Skripte laufen, versetze ich das Backupskript. Schön wäre in diesem Zusammenhang eine globale Variable in den Einstellungen. Eine Art Verzögerung in Minuten für alle drei Backup-Arten. Das VIS Theme ist uiDarkness. Hab die CSS-Befehle direkt in das HTML Widget geschrieben. So, muss jetzt Abendessen kochen. Freu mich auf Feedback. Gruß Pix
-
Hallo Simatec,
ich glaube, ich habe den Fehler gefunden: Ich hatte das Script unter Backitup_V3 und nicht unter BackitUp_V3 abgespeichert. Das kleine 'u' war offensichtlich der Fehler.
Für den Upload auf meine Synology habe ich FTP eingeschaltet. Würde es gerne in den nächsten Tagen mal mit CIFS versuchen. Müssen da bestimmte Voraussetzungen auf der Synology gegeben sein? Wenn ich CIFS einschalte, erhalte ich folgende Meldungen:
Gruß
Strizz