NEWS
[Vorlage] Script für automatisches Backup steuerbar durch VIS
-
Nur mal so als idee.
Könnte das Script nicht einen datenpunkt anlegen mit dem zeitstempel von der letzten Ausführung?
Dann könnte man den im vis Anzeigen lassen zur Kontrolle
-
@ringdingringding:Nur mal so als idee.
Könnte das Script nicht einen datenpunkt anlegen mit dem zeitstempel von der letzten Ausführung?
Dann könnte man den im vis Anzeigen lassen zur Kontrolle `
Wenn es weiter nichts ist, hab ich erledigt und im Script des ersten Posts eingepflegt. Du kannst die zwei Zeilen aber auch einfach bei dir einpflegen.
Einmal hier:
createState(instanz + pfad0 + 'Auto_Backup', {def: 'false',type: 'boolean',name: 'Automatisches Backup'}); createState(instanz + pfad0 +'Backupeinstellungen_sichtbar', {def: 'false',type: 'boolean',name: 'Backup Einstellungen '}); //Datenpunkt für Vis - Einstellungen sichtbar Ja/Nein // Neu - einfach dazu schreiben createState(instanz + pfad0 + 'letztes_Backup', {def: 'Noch kein Backup', type: 'string', name: 'Letztes Backup'}); // Neu - einfach dazu schreiben
Und hier:
function backup_erstellen(typ, name, zeit, host, pfad, user, passwd) { // exec(([bash_script ,typ, name, zeit, pfad].join('')), function(err, stdout, stderr) { exec((bash_script+' "'+typ+'|'+name+'|'+zeit+'|'+host+'|'+pfad+'|'+user+'|'+passwd+'"'), function(err, stdout, stderr) { if(logging){ if(err) log(stderr, 'error'); else log('exec: ' + stdout); } // Neu - einfach dazu schreiben setState(instanz + pfad0 + 'letztes_Backup', formatDate(new Date(), 'DD.MM.YYYY') +' um '+ formatDate(new Date(), 'hh:mm:ss')); // Neu - einfach dazu schreiben }); if(logging) log("exec: " + ((bash_script+' '+typ+' '+zeit+' '+pfad))); }
-
Genial danke endlich habe ich auch ein auto Backup das funktioniert!!
DANKE!!
Leider bin ich zu blöd folgendes ans laufen zu bringen wenn jemand Tipps hat wäre ich sehr froh
- <list type="decimal">2. 1. ich möchte mit meiner Synology nicht FTP benutzen sonder SFTP leider bekomme ich keine verbidung zu stande. Weis jemand was ich ändern müsste?
<list type="2">* 2. mit lftp gibt es auch den Befehl "mirror" anstelle von "put". Damit sollte es doch möglich sein nur die eingestellten bakups synchron zu halten. Dann würde man das händische löschen auf der Diskstation sparen oder?
- <list type="decimal">2. 1. ich möchte mit meiner Synology nicht FTP benutzen sonder SFTP leider bekomme ich keine verbidung zu stande. Weis jemand was ich ändern müsste?
-
Wenn es weiter nichts ist, hab ich erledigt und im Script des ersten Posts eingepflegt. `
Funktioniert so wie es aussieht. Mal die Tage abwarten DANKE
-
1. ich möchte mit meiner Synology nicht FTP benutzen sonder SFTP leider bekomme ich keine verbidung zu stande. Weis jemand was ich ändern müsste? `
Was ich gelesen habe kann man das mit lftp auch machen, müsstest du hier mal nachlesen:http://how-to.wikia.com/wiki/How_to_use … ftp_client
mit lftp gibt es auch den Befehl "mirror" anstelle von "put". Damit sollte es doch möglich sein nur die eingestellten bakups synchron zu halten. Dann würde man das händische löschen auf der Diskstation sparen oder? `
Die Überlegung war damals da die Backups nicht wirklich groß sind eben viele Stände zu "archivieren" aber ich werde mir das mal anschauen ob ich das eingepflegt bekomme. -
<list type="2">* 2. mit lftp gibt es auch den Befehl "mirror" anstelle von "put". Damit sollte es doch möglich sein nur die eingestellten bakups synchron zu halten. Dann würde man das händische löschen auf der Diskstation sparen oder? `
Das bedeutet was? Es gibt nur ein Backup und dieses wird einfach nur immer aktuallisiert?
Was passiert bei einem Fehler, hätte man dann im dümmsten fall ein defektes Backup liegen was man nicht nutzen kann?
Gruß
-
Genau das war der Grund warum ich das nicht als Automatik eingebaut habe. Ich persönlich bin der Meinung dass eben die letze Rückfallebene nicht automatisiert werden sollte. Denoch schau ich wie das generell möglich wäre.
-
Dann macht es ja schon eher sinn wenn man für jeden Wochentag ein Backup anlegt und das dann immer aktuell hält.
Oder halt alte daten auf dem ftp löschen kann
-
Danke für das Backup Script und das Vis Widget.
Funktioniert prima. Tolle Sache. Auch mit FTP.
Zum Widget:
Was ich bemerkt habe, dass bei mir die Überschriften "normale Backup" usw. nicht formatiert wurden, die Font Size der Uhrzeiten zu groß ist und der "Schließen" Knopf keine Funktion hat.
Ein kleine Verbesserung wäre, wenn das Widget einen Knopf hätte, der "Backup jetzt" heißt". Dann könnte man den immer drücken, wenn man mal viel Änderungen gemacht hätte.
Zur Dok.
Was noch super wäre, wenn ein paar Beispiele zum Aufruf des Backup Scripts im Script dokumentiert würde. Es ist zwar ein formale Dokumentation dabei, aber für mich ist es immer einfacher, wenn ich ein lauffähiges Beispiel nehme und modifiziere.
Fazit:
In Summe hat mich die Integration dieses Backups 1,5 Stunden gekostet. Das ist schon ziemlich lange.
Wenn ich in alle Bescheidheit einen Wunsch an die ioBroker Entwickler äußern könnte, dann wäre es, dass die Verfahren zu Reusability von Scripts und Vis Views anderer Leute lzuerleichtern. Der Traum wäre so eine Art App Store.
-
Heute gab es wieder keine Sicherung.
Letzte ist vom 14.2. dank Datenpunkt im vis direkt gesehen
Script neu gestartet und mal weiter beobachten.
Raspi läuft seit 4 Tagen also liegt es da dran nicht.
Gruss
-
Komisch, da das Backup über Schedule aufgerufen wird wäre es interessant zu wissen ob das schedule noch aktiv ist.
Füge mal:
log('Letzter Backupaufruf:' + formatDate(new Date(), 'DD.MM.YYYY') +' um '+ formatDate(new Date(), 'hh:mm:ss'));
über dem Backup-Aufruf ein, so kannst du im Log sehen ob der Aufruf überhaupt noch kommt.
Direkt als erstes in dieser Funktion:
function backup_erstellen(typ, name, zeit, host, pfad, user, passwd) {
Nur nebenbei bei mir läuft seit ca. einem Monat jeden zweiten Tag ein Backup. Ich verwende aber auch einen alten Javascript-Adapter 3.4.0
-
Gerade mal eingefügt:
javascript.0 2018-02-15 21:56:00.612 info script.js.common.backup: Letzter Backupaufruf:15.02.2018 um 21:56:00
mal beobachten
Muß ich evtl in der Konfiguration noch was einstellen?
-
Kann ich dir leider nicht sagen da ich keinen der Javascript Adapter höher der Version 3.4.0 zum laufen bekomme :lol:
-
Laut Log
`2018-02-17 02:00:01.047 - [32minfo[39m: javascript.0 script.js.common.backup: exec: bash /opt/iobroker/backup.sh minimal 10 [/code]` Wurde das script gestartet aber es wurde keine Sicherung angelegt und auch kein Datenpunkt für die Vis erzeugt, was ja auch gut ist weil ich es sonst nicht gemerkt hätte ;) Jetzt hab ich mal zeit auf jetzt gestellt und guck was das Log dann her gibt: `~~[code]~~2018-02-17 15:43:00.595 - [32minfo[39m: javascript.0 script.js.common.backup: exec: bash /opt/iobroker/backup.sh minimal 10 2018-02-17 15:43:16.218 - [32minfo[39m: javascript.0 script.js.common.backup: exec: minimal||10|ftp.xxxxx.net||iobroker|xxxpasswortxxx --- Es wurde ein Normales Backup gestartet --- Backup created: /opt/iobroker/backups/2018_02_17-15_43_02_backupiobroker.tar.gz --- Backup Erstellt --- --- Alte Backups entfernen --- --- Backup-File FTP-Upload --- 2018-02-17 15:44:23.529 - [32minfo[39m: web.0 2018-02-17T14:44:23.529Z Connected system.user.admin 2018-02-17 15:44:23.556 - [32minfo[39m: web.0 2018-02-17T14:44:23.556Z Connected system.user.admin 2018-02-17 15:44:23.584 - [32minfo[39m: web.0 2018-02-17T14:44:23.583Z Connected system.user.admin[/code]` Heute Nacht um 2 Uhr passierte auch das mit dem Speicher vom Raspi:  Was sagt uns das nun? Warum läuft es Nachts nicht durch?[/code]
-
Wenn ich die Grafik richtig interpretiere sagt diese, dass es kurzzeitig nur noch minimalen/keinen verfügbaren Arbeitsspeicher gab oder?
Vielleicht verursacht der Exec-Befehl irgendwelche Fehler. Werde hierzu mal lesen ob ich was finde.
Wenn ich mich richtig erinnere, gab es bei Homematic mal probleme mit exec-Befehlen.
-
Die Wiederherstellung des kompletten Backups funktioniert wie folgt:
-
Iobroker stoppen
-
Erstelltes Backup in den Root-Ordner kopieren
-
Befehl:" tar -xzvf Backupname.tar.gz -C / " über die Konsole ausführen.
-
Warten - Während der Wiederherstellung wird euch angezeigt was gerade gemacht wird.
-
Wenn alles fertig ist Iobroker starten (Danke an olifall der mir den richtigen Befehl/Ablauf mitgeteilt hat.) `
Wirklich in den root ordner? Da komm ich per ftp nicht hin!
Kann ich nicht einen ordner im/opt/iobroker/ nehmen evtl?
Gruß
-
-
Huhu Ringding,
wenn ich eine Multihost Umgebung nutze, erstellte in mit deinem Skript ein Backup für master+Slave zusammen?? Wenn nein, weißt du, wie das ganze für den Slave umgesetzt werden müsste?
Danke und Grüße, Thorsten
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk
-
Keine multihost
will umziehen von raspi auf intel nuc mit einer vm auf proxmox
-
Huhu Ringding,
wenn ich eine Multihost Umgebung nutze, erstellte in mit deinem Skript ein Backup für master+Slave zusammen?? Wenn nein, weißt du, wie das ganze für den Slave umgesetzt werden müsste?
Danke und Grüße, Thorsten
Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk `
Es wird in dem Script (zumindest bei komplett) immer die lokale Sicherung angestoßen wie sich das in einer Multihostumgebung mit dem ./iobroker backup verhällt kann ich nicht sagen da ich das selbst nicht nutze. Generell habe ich jedoch die Funktion eines Multihost-Backups nicht angedacht. In der Theorie müsstest du aber wie du geschrieben hast für jedes der Geräte ein eigenständiges Backup machen.
-
@ringdingringding:Wirklich in den root ordner? Da komm ich per ftp nicht hin!
Kann ich nicht einen ordner im/opt/iobroker/ nehmen evtl?
Gruß `
Ich habe es damals vom Root-Ordner aus gemacht, um die Dateistrucktur zu erhalten. Ob das auch aus einem anderen Ordner heraus geht kann ich mal mit einem Raspberry testen und dir dann Rückmeldung geben.
Alternativ habe ich hier eine Anleitung gefunden ftp auch für root frei zu geben vielleicht bringt dich das weiter:
! In den meisten Linux-Varianten wird der Superuser root vom Zugang via FTP ausgeschlossen. Allerdings erscheint dieselbe Fehlermeldung, wie bei einem falsch eingegebenen Kennwort.
! Die verweigerung des Zugriff ist auch sinnvoll, da das Passwort des root-User besonderen Schutz verdient und FTP die Kennwörter im Klartext übermittelt. Ein Datenschnüffler würde so mit ganz wenig Aufwand an das wichtigste Kennwort auf diesem System gelangen.
! Kein FTP-Zugriff für root
! Kein FTP-Zugriff für root
! Um diesen Schutz außer Kraft zu setzen, etwa fürs Intranet, genügt es in der Datei /etc/ftpd/ftpusers die Zeile “root” zu löschen oder auszukommentieren. In der Regel befindet sich die Datei ftpusers im Verzeichnis /etc.