Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. Skripten / Logik
    4. [Vorlage] Backitup nun in der 3ten Version

    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] Backitup nun in der 3ten Version

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

      Hallo Steffen,

      danke für die schelle Antwort. Werde ich gleich mal ausprobieren.

      Gruß

      Strizz

      1 Reply Last reply Reply Quote 0
      • simatec
        simatec Developer Most Active last edited by

        Hier mal der direkte Link zur Readme, für alle die sich mit dem Github nicht so gut auskennen.

        https://github.com/peoples0815/backitup … /README.md

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

          @Strizz:

          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!

          1 Reply Last reply Reply Quote 0
          • S
            Strizz last edited by

            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

            1 Reply Last reply Reply Quote 0
            • simatec
              simatec Developer Most Active last edited by

              @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

              1 Reply Last reply Reply Quote 0
              • S
                Strizz last edited by

                Danke, das war es.

                Werde jetzt mal weiter testen.

                Strizz

                1 Reply Last reply Reply Quote 0
                • S
                  Strizz last edited by

                  Hallo Steffen,

                  Nur zur Info: Wenn ich das Programm jetzt starte, erhalte ich folgende Warnhinweise:

                  234_warnung.png

                  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

                  1 Reply Last reply Reply Quote 0
                  • kmxak
                    kmxak Most Active last edited by

                    wenn du das Script woanders hast musst du den veränderten Ort im Script anpassen.

                    Zeile 330, 331 sollte das sein

                    1 Reply Last reply Reply Quote 0
                    • simatec
                      simatec Developer Most Active last edited by

                      @Strizz:

                      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); `

                      @Strizz:

                      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.

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

                        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

                        1 Reply Last reply Reply Quote 0
                        • S
                          Strizz last edited by

                          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

                          1 Reply Last reply Reply Quote 0
                          • simatec
                            simatec Developer Most Active last edited by

                            @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?

                            @Strizz:

                            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)

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

                              Das mit der Synology ohne die volume Angabe ist bei mir identisch

                              1 Reply Last reply Reply Quote 0
                              • P
                                pix last edited by

                                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 ---
                                
                                1. 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
                                1 Reply Last reply Reply Quote 0
                                • S
                                  Strizz last edited by

                                  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:

                                  234_error.png

                                  Gruß

                                  Strizz

                                  1 Reply Last reply Reply Quote 0
                                  • sigi234
                                    sigi234 Forum Testing Most Active last edited by

                                    Hallo,

                                    was und wo muss ich ändern wenn ioBroker auf Windows 10 läuft?

                                    Pfad zu ioBroker: C:\ioBroker

                                    1 Reply Last reply Reply Quote 0
                                    • simatec
                                      simatec Developer Most Active last edited by

                                      @Strizz:

                                      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:

                                      Error.PNG

                                      Gruß

                                      Strizz `

                                      Du musst den / vorm Pfad wegnehmen und wahrscheinlich bei cifs das volume1 noch in der Pfadangabe mit angeben.

                                      Aber wie gesagt ohne / am Anfang

                                      1 Reply Last reply Reply Quote 0
                                      • simatec
                                        simatec Developer Most Active last edited by

                                        @sigi234:

                                        Hallo,

                                        was und wo muss ich ändern wenn ioBroker auf Windows 10 läuft?

                                        Pfad zu ioBroker: C:\ioBroker `

                                        Dann musst du den Pfad im JavaScript und in dem shell anpassen.

                                        Also /opt/iobroker durch deinen Pfad ersetzen.

                                        1 Reply Last reply Reply Quote 0
                                        • simatec
                                          simatec Developer Most Active last edited by

                                          @Pix

                                          Danke für dein super Feedback.

                                          Zu den einzelnen Backups.

                                          Kann es eventuell sein, dass in der shell die Pfadangabe nicht stimmt?

                                          Standard ist das bkpdir=„/opt/iobroker/backups“

                                          Bei dem CCU Backup ist mir in deinem Log aufgefallen, dass dort keine IP, User und PW der CCU angegeben sind.

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

                                            @pix:

                                            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. `
                                            Super Idee - ist bei mir schon eingepflegt und wird hochgeladen.

                                            @pix:

                                            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); } `
                                            Ebenfalls Top Idee

                                            Das habe ich jetzt auch bei mir wie folgt eingepflegt und scheint zu funktionieren:

                                            function WerteAktuallisieren() {
                                                runScript(name);
                                                log ('das Script wurde neu gestartet');
                                            }
                                            

                                            @pix:

                                            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");
                                            });
                                            
                                            ```` `  
                                            

                                            Wenn ich das jetzt richtig verstanden habe möchtest du wissen ob ein Backup aktiv bzw. Inaktiv ist oder?

                                            Aktuell ist es so wenn du den State on/off änderst bekommt man doch folgende Ausgabe im log:

                                            javascript.0	2018-06-19 21:54:02.637	info	script.js.Wandtablet.System.BackitUp_V3: Ein ccu Backup wurde um 03:00 Uhr jeden 7 Tag aktiviert
                                            javascript.0	2018-06-19 21:54:02.634	info	script.js.Wandtablet.System.BackitUp_V3: Ein komplett Backup wurde um 02:30 Uhr jeden 20 Tag aktiviert
                                            javascript.0	2018-06-19 21:54:02.633	info	script.js.Wandtablet.System.BackitUp_V3: Das minimal Backup wurde deaktiviert
                                            
                                            

                                            Oder hab ich da jetzt etwas falsch verstanden?

                                            @pix:

                                            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. `
                                            Wenn das wirklich gewünscht wird, dürfte das kein großes Problem sein, die Frage ist nur ob es Sinn macht für das ganze einen Datenpunkt im jeweiligen Backup zu erstellen (für jedes einen eigenen Versatz) oder ob das im Script reichen würde (für alle den gleichen Versatz) oder man es eben in Vis direkt anpasst (wie du eben).

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            906
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            20
                                            124
                                            14612
                                            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