NEWS
[Vorlage] Script für automatisches Backup steuerbar durch VIS
-
So,
ein neuer Lösungsversuch, ich habe im Homematic-Forum folgendes gefunden:
"..Schuld ist der Zeichensatz von DOS und Unix. Es wird beim kopieren über Putty in Nano ein paar unsichtbaren Zeichen mit kopiert die Pi sieht.
Kannst du mal im /opt/iobroker Verzeichniss mit dem Befehl nano backup.sh nachsehen ob du da auch irgendwelche "unsichtbaren" Zeichen hast?
Alternativ habe ich im ersten Post meine Backup.sh nochmal gezippt hinterlegt so dass du diese versuchen könntest.
Gruß
Steffen
-
hab dir mal einen screenshot angehängt. Leider weis ich nicht wies mit unsichtbaren aussieht. Zip teste ich nachher mal
3933_script.jpeg -
Steffen, DANKE !
das scheint es gewesen zu sein.
Es wurde eine Datei "backupiobroker_minimal…..." erstellt.
Anbei ein Bild.
Hat es irgendwo Auswirkungen, das ioBroker vor dem Backup nicht gestoppt wird ?
Guten Rutsch ins neue Jahr !
Grüße Ingo.
1519_2017-12-31__5_.png -
nach dem einsetzen der backup.sh wurde das Backup erstellt. Jetzt funktioniert es.
-
nach dem einsetzen der backup.sh wurde das Backup erstellt. Jetzt funktioniert es.
`
Das ist eine gute Frage :lol: , also beim kleinen Backup dürfte es nichts machen da dies ja das gleiche ist was du mit ./iobroker backup ausführst. Beim großen konnte ich bei mir nichts feststellen wenn dir jedoch etwas auffällt sag Bescheid, dann packe ich den Stop noch mit rein.
nach dem einsetzen der backup.sh wurde das Backup erstellt. Jetzt funktioniert es.
`
Das Freut mich! Hatte schon die Befürchtung dass das nur bei mir funktioniert
Euch auch nen guten Rutsch
Gruß
Steffen
-
Hallo
Gestern mal installiert und scheint zu laufen. Jedenfalls manuell, automatisch zeigt die zeit.
-
Habe das widget im vis auf einer extra seite importiert, aber wozu ist der schliessen button unten?
-
wenn ich 10 tage alte Dateien löschen lassen will muss ich “ja“ in der backup.sh eintragen oder im script?
-
bekommt man es irgendwie hin per ftp die Dateien zu verschieben oder ist es einfacher dafür einen alten usbstick an den raspi zu stecken und die daten dort zu sichern?
Sorry für die Fragen aber raspi und linux sind für mich neuland
Gruss Danyel
-
-
Hi Danyel,
zu deinen Fragen:
-
Schließen Button, ich verwende das "View in Widget" um die Backup-View einzublenden und über den Schließen-Button blende ich Sie wieder aus.
-
Wenn du die 10 Tage alten Backups löschen möchtest musst du hier:````
......
Backup[0][2] = '10'; // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
oder hier:```` ...... Backup[1][2] = '10'; // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen) .......
die 10 oder bspw. 15 … Eintragen. Die Zahl gibt wie alt ein Backup sein muss dass es gelöscht wird. Wenn du das nicht möchtest einfach die Zahl zwischen den Anführungszeichen löschen.
- verschieben kannst du die Dateien indem du im jeweiligen Backup-Typen unter (Verzeichnis für Sicherungskopie) das Verzeichnis einträgst.
Link des ersten Posts ist das original Script hier kannst du dir die Syntax anschauen die du verwenden musst, ich selber nutze das jedoch nicht habe es nur eins zu eins übernommen ohne es zu testen. Werde bei Gelegenheit mal eine Share-Freigabe auf meinem Nas einrichten und es versuchen.
Wenn noch Fragen oder Probleme auftauchen melde dich einfach dann versuch ich weiter zu Helfen.
Gruß
Steffen
-
-
So!
Im ersten Post gibt es nun die neue Version des Update-Scripts.
Neu ist hier die Möglichkeit das lokal erstellte Backup auf einen Ftp-Server zu kopieren.
Ich nutze für den Ftp-Upload die Funktion "lftp" wer diese nicht in seinem Debian installiert hat muss das nachholen um den Ftp-Upload nutzen zu können!
(In der Konsole einfach "sudo apt-get install lftp" eingeben).
Ihr müsst auch die neue Version des Javascripts verwenden, hier könnt ihr im Kopf eure FTP-Daten einpflegen.
Dann noch die neue Version der Backup.sh in euer Verzeichnis kopieren und fertig.
Wer testen möchte ob die Backup.sh funktioniert bzw. zur Fehlersuche so wird über die Konsole aufgerufen:
backup.sh "BackupTyp|NamensZusatz|LöschenNachTagen|FTP-Host|FTP-DIR|UserName|Passwort"
Und hier ein Aufruf mit Beispieldaten:
bash backup.sh "minimal|Auto|10|192.168.1.2|Backup/ioBroker/|TestUser|TestPasswort"
Sollten Fragen oder Probleme auftauchen, versuche ich gerne zu helfen
Gruß
Steffen
-
So wie es aussieht läuft es.
Hatte erst probleme beim manuellen aufrufen "inkorect login" oder so aber das lag wohl an meinem ftp.
Heute Nacht um 2 Uhr wurde ordnungsgemäß aufn ftp und die sd-card gesichert.
Schauen wir mal was die nächsten Tage passiert.
Aber erstmal DANKE
-
- Schließen Button, ich verwende das "View in Widget" um die Backup-View einzublenden und über den Schließen-Button blende ich Sie wieder aus. `
Wie machst du das? Steh gerade aufm schlauch mit dem "View in Widget" und dem Schließen-Button
-
@ringdingringding:Wie machst du das? Steh gerade aufm schlauch mit dem "View in Widget" und dem Schließen-Button `
Ganz einfach, ich habe dir hier zwei View-Exporte mit reingepackt der eine heißt test und der andere test2.
Test wäre die View in der du das ganze ein und ausblenden willst, deshalb hier das Widget. Ein und ausblenden geht über die Sichtbarkeit welche du mit dem durch das Script erstellten Datenpunkt "Backupeinstellungen_sichtbar (true/false)" steuerst.
Test2 ist die eigentliche Konfigurationsview.
Hier der Export von Test:
Und hier der Export von Test2:
Importier die mal und schau mal ob das verständlich ist
Gruß
Steffen
-
Top.
Verstanden und läuft
Danke dir.
Werde jetzt mal gucken was die tage dann passiert.
-
waehre es nicht interessant diese logic als einem adapter mit VIS widget satz zu definieren ?
Ich finde die loesung wirklich super !
-
waehre es nicht interessant diese logic als einem adapter mit VIS widget satz zu definieren ?
Ich finde die loesung wirklich super ! `
Da gebe ich dir zu 100% recht!
Habe das auch schon ins Auge gefasst aber so weit bin ich noch nicht, habe schon ein paar mal angefangen die Anleitung zu lesen aber ich bin halt doch nur Amateur und verstehe oft nur Bahnhof :lol:
Gruß
Steffen
-
Hallo,
Super, danach habe ich schon gesucht.
Als totaler Anfänger ist mir folgende Zeile nicht klar:
das Java-Backup-Script müsst ihr einmal mit "BackupStellen();"(Zeile 96) ausführen um die Objekte für Vis zu erzeugen, dass hier das erstemal Warnigs kommen liegt daran dass die Objekte noch nicht erzeugt sind.
Ich habe das Skript manuell ausgeführt mit sudo und es läuft aber in der Javainstanz habe ich keine Einträge.
Danke
Uwe
-
> Als totaler Anfänger ist mir folgende Zeile nicht klar:
Hi Uwe,
alles kein Thema da hast du was missverstanden oder ich habs schlecht erklärt. Du brauchst nichts in der Konsole ausführen.
Du importierst ja das JavaScript in dein Iobroker unter Scripte, dort gibt es in Zeile 109 oder kurz drüber bzw. drunter :mrgreen: "//BackupStellen();", hier nimmst du die zwei "//" weg uns lässt es einmal durchlaufen (speichern und auf play drücken). Dadurch werden dann die Datenpunkte erstellt. Danach einfach wieder mit "//" auskommentieren.
Wenns noch unklar ist mach ich dir nen Screenshot.
Gruß
Steffen
-
Kann mir jemand helfen?
Ich weiß nicht so ganz was ich tun muss: ein minimal Backup funktioniert problemlos aber das komplette Backup geht garnicht.
Es scheinen Berechtigungen zu fehlen, nur welche? Habe dem kompletten iobroker Ordner + allen Unterordnern schon "777" gegeben….
Es kommt folgende Fehlermeldung:
--- Es wurde ein Komplettes Backup gestartet --- tar: Entferne führende „/“ von Elementnamen tar (child): 2018_01_15-23_42_15-backup_komplett.tar.gz: Funktion open fehlgeschlagen: Keine Berechtigung tar (child): Error is not recoverable: exiting now --- Backup Erstellt --- mv: der Aufruf von stat für „/opt/2018_01_15-23*_komplett.tar.gz“ ist nicht möglich: Datei oder Verzeichnis nicht gefunden --- Alte Backups entfernen --- --- Backup-File FTP-Upload --- Verzeichniswechsel OK, cwd=/backup/ioBroker put: /opt/iobroker/backups/backupiobroker_komplettAuto-2018_01_15-23_42_15.tar.gz: Datei oder Verzeichnis nicht gefunden
-
Moing,
gib mir mal paar mehr Infos, worauf läuft dein Iobroker, welches Linux/Image?
Hast du der Backup.sh auch die Berechtigung gegeben?
Gruß
Steffen
-
sagt dir das was?
javascript.0 2018-01-17 18:48:00.332 error script.js.common.backup: undefined
javascript.0 2018-01-17 18:48:00.331 info script.js.common.backup: exec: bash /opt/iobroker/backup.sh komplett 10
javascript.0 2018-01-17 18:48:00.331 info script.js.common.backup: exec is not available. Please enable "Enable Exec" option in instance settings
javascript.0 2018-01-17 18:48:00.330 error exec is not available. Please enable "Enable Exec" option in instance settings
edit wer lesen kann ist klar im vorteil
-
Hat sich das somit erledigt?
Und hat es auch geklappt?
Gruß
Steffen