Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Script für automatisches Backup steuerbar durch VIS

    NEWS

    • Neuer Blog: Fotos und Eindrücke aus Solingen

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    [Vorlage] Script für automatisches Backup steuerbar durch VIS

    This topic has been deleted. Only users with topic management privileges can see it.
    • Webranger
      Webranger last edited by

      Ah ok

      Dann wird das an dem reboot liegen.

      Verwirrend ist dann halt nur das die Anzeige im vis aussieht wie vor dem reboot.

      Wenn man es nicht weis kommt man nicht auf die idee die zeiten neu zu stellen

      1 Reply Last reply Reply Quote 0
      • Peoples
        Peoples last edited by

        Die Zeiten stehen auch drinnen da ändert sich nichts, nur das schedule ist nicht mehr gesetzt.

        Aber du hast recht, da muss ich mal was einpflegen dass die gesetzten zeiten nach einem Reboot auch aktiviert werden.

        Edit

        Das habe ich bei mir auch drin :lol:

        Zeile 109(bei mir):

        //BAckupStellen();
        

        musst du die zwei "//" rausnehmen dann sollte es beim Scriptstart / Reboot initiallisiert werden

        1 Reply Last reply Reply Quote 0
        • Webranger
          Webranger last edited by

          Danke

          Ich guck heute Abend mal.

          1 Reply Last reply Reply Quote 0
          • K
            Kueppert last edited by

            Ah, gut das ich das Thema abonniert habe. Hatte auch keine Backups mehr auf meiner Synology. Wegen Adapter Tests muss ich häufiger den pi3 neu starten…

            Have die // vor dem Befehl im Skript jetzt Mal entfernt.

            VG Thorsten

            Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

            1 Reply Last reply Reply Quote 0
            • Webranger
              Webranger last edited by

              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

              1 Reply Last reply Reply Quote 0
              • Peoples
                Peoples last edited by

                @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)));
                }
                
                
                1 Reply Last reply Reply Quote 0
                • H
                  HomeChristian last edited by

                  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?
                  1 Reply Last reply Reply Quote 0
                  • Webranger
                    Webranger last edited by

                    @peoples:

                    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 Reply Last reply Reply Quote 0
                    • Peoples
                      Peoples last edited by

                      @HomeChristian:

                      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

                      @HomeChristian:

                      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.

                      1 Reply Last reply Reply Quote 0
                      • Webranger
                        Webranger last edited by

                        @HomeChristian:

                        <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ß

                        1 Reply Last reply Reply Quote 0
                        • Peoples
                          Peoples last edited by

                          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.

                          1 Reply Last reply Reply Quote 0
                          • Webranger
                            Webranger last edited by

                            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

                            1 Reply Last reply Reply Quote 0
                            • M
                              Marty56 last edited by

                              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.

                              1 Reply Last reply Reply Quote 0
                              • Webranger
                                Webranger last edited by

                                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

                                1 Reply Last reply Reply Quote 0
                                • Peoples
                                  Peoples last edited by

                                  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

                                  1 Reply Last reply Reply Quote 0
                                  • Webranger
                                    Webranger last edited by

                                    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?

                                    2958_bildschirmfoto_2018-02-15_um_22.08.10.png

                                    1 Reply Last reply Reply Quote 0
                                    • Peoples
                                      Peoples last edited by

                                      Kann ich dir leider nicht sagen da ich keinen der Javascript Adapter höher der Version 3.4.0 zum laufen bekomme :lol:

                                      1 Reply Last reply Reply Quote 0
                                      • Webranger
                                        Webranger last edited by

                                        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:
                                         ![2958_bildschirmfoto_2018-02-17_um_16.14.03.png](/assets/uploads/files/2958_bildschirmfoto_2018-02-17_um_16.14.03.png) 
                                        
                                        Was sagt uns das nun?
                                        
                                        Warum läuft es Nachts nicht durch?[/code]
                                        
                                        1 Reply Last reply Reply Quote 0
                                        • Peoples
                                          Peoples last edited by

                                          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.

                                          1 Reply Last reply Reply Quote 0
                                          • Webranger
                                            Webranger last edited by

                                            @peoples:

                                            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ß

                                            1 Reply Last reply Reply Quote 0
                                            • First post
                                              Last post

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            756
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            29
                                            283
                                            41425
                                            Loading More Posts
                                            • Oldest to Newest
                                            • Newest to Oldest
                                            • Most Votes
                                            Reply
                                            • Reply as topic
                                            Log in to reply
                                            Community
                                            Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                            The ioBroker Community 2014-2023
                                            logo