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.
    • Peoples
      Peoples last edited by

      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

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

        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 😉

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

          Hat sich das somit erledigt?

          Und hat es auch geklappt?

          Gruß

          Steffen

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

            JA

            hat gerade wieder erfolgreich eins erstellt.

            Hatte Javascript aktualisiert und nicht in die Einstellungen geguckt.

            Werde es jetzt mal wieder die Tage beobachten.

            Gruß

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

              Erzähl mal bissl genauer :mrgreen:

              Du hast den Javascript Adapter "geupdatet" und das hat die Einstellungen verändert?

              Wo hast du das dann grade gezogen rein informativ für mich?

              Gruß

              Steffen

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

                Hi,

                ich weiß nicht warum, aber mir ist eben der pi3 gefreezed bei dem Versuch ein Backup zu machen. Hab auch exec im Java Script Adapter angeklickt. Das passt.

                Lässt jemand hier die Datei via FTP hochladen und kann mir die Einstellungen im Script Posten? Ich lade, bzw Versuche, auf eine Synology zu uppen 😕

                Danke und Grüße, Thorsten

                Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                  @Kueppert:

                  Lässt jemand hier die Datei via FTP hochladen und kann mir die Einstellungen im Script Posten? Ich lade, bzw Versuche, auf eine Synology zu uppen 😕 `

                  Ja,

                  ich mach das so:

                  // Wichtig! Es dürfen keine Leerzeichen in dem Backup-Array sein wenn kein Eintrag benötigt wird
                  // nur '' verwenden!
                  
                  var Backup = [];                                        // Array für die Definition der Backuptypen und deren Details
                      Backup[0] = [];
                      Backup[0][0] = 'minimal';                           // Backup Typ (nicht verändern)
                      Backup[0][1] = '';                                  // Names Zusatz, wird an den Dateinamen angehängt bspw. Master/Slave (falls gewünscht, ansonsten leer lassen) 
                      Backup[0][2] = '10';                                // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
                      Backup[0][3] = '192.168.1.10';                      // FTP-Host
                      Backup[0][4] = 'Backup/SmartHome/ioBroker/';        // genaue Verzeichnissangabe bspw. /volume1/Backup/ auf FTP-Server (falls gewünscht, ansonsten leer lassen)
                      Backup[0][5] = 'iobroker';                          // Username für FTP - Verbindung
                      Backup[0][6] = '12345678';                        // Passwort für FTP - Verbindung
                  
                      Backup[1] = [];
                      Backup[1][0] = 'komplett';                          // Backup Typ (nicht verändern)
                      Backup[1][1] = '';                                  // Names Zusatz, wird an den Dateinamen angehängt bspw. Master/Slave (falls gewünscht, ansonsten leer lassen)
                      Backup[1][2] = '10';                                // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
                      Backup[1][3] = '192.168.1.10';                      // FTP-Host
                      Backup[1][4] = 'Backup/SmartHome/ioBroker';         // genaue Verzeichnissangabe bspw. /volume1/Backup/ auf FTP-Server (falls gewünscht, ansonsten leer lassen)
                      Backup[1][5] = 'iobroker';                          // Username für FTP - Verbindung
                      Backup[1][6] = '12345678';                        // Passwort für FTP - Verbindung
                  

                  Welche Javascript Version benutzt du? Weil ich wüsste nicht wo ich das exec anhaken kann?

                  Gruß

                  Steffen

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

                    Ah,

                    dann muss ich garnicht /volume1/ bei einer Synology im Pfad angeben? Werde ich morgen direkt Mal ändern 🙂

                    Danke und Grüße, Thorsten

                    Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                      @Kueppert:

                      Ah,

                      dann muss ich garnicht /volume1/ bei einer Synology im Pfad angeben? Werde ich morgen direkt Mal ändern 🙂 `

                      Also ich habe (bei mir) via ftp einen Login gemacht und von diesem Verzeichnis aus bin ich in mein Wunschverzeichnis. Wie ich es verstehe gibt der benutzer den du verwendest das "Anfangsverzeichnis" vor und deshalb braucht man das Volume1 bei Synology nicht. Da ich aber auch eine alte 413j habe die auch nicht auf dem aktuellen DSM läuft könnte es sein dass sich das geändert hat.

                      Gruß

                      Steffen

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

                        @peoples:

                        @Kueppert:

                        Ah,

                        dann muss ich garnicht /volume1/ bei einer Synology im Pfad angeben? Werde ich morgen direkt Mal ändern 🙂 `

                        Also ich habe (bei mir) via ftp einen Login gemacht und von diesem Verzeichnis aus bin ich in mein Wunschverzeichnis. Wie ich es verstehe gibt der benutzer den du verwendest das "Anfangsverzeichnis" vor und deshalb braucht man das Volume1 bei Synology nicht. Da ich aber auch eine alte 413j habe die auch nicht auf dem aktuellen DSM läuft könnte es sein dass sich das geändert hat.

                        Gruß

                        Steffen ` Ah super,

                        das war die Lösung. Hab volume1/ weggenommen und kann ein Backup auf meinem NAS finden.

                        Frage: geht hier auch sftp? Hab im Script keinen Port gefunden den ich ändern könnte…

                        Danke und Grüße, Thorsten

                        Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                          Also wenn du den Befehl "lftp" in der Backup.sh auf den sftp Befehl änderst (den Syntax weiß ich aber nicht) sollte es gehen. Ich habe Anfangs auch ftp probiert, jedoch erfolglos da ich keinen einzeiligen ftp Aufruf in Shell ausgeführt bekommen habe. Daher die Verwendung von lftp.

                          Gruß

                          Steffen

                          1 Reply Last reply Reply Quote 0
                          • E
                            eXTreMe last edited by

                            @peoples:

                            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 `

                            ioBroker läuft auf einem Raspi3 mit dem fertigen Image von der iobroker webseite, also jessie lite.

                            berechtigungen 777 habe ich dem script gegeben, sogar dem kompletten iobroker ordner & allen unterordnern (auch wenn das sicher nicht empfohlen ist).

                            wie gesagt: das kleine backup geht, das komplette backup jedoch nicht ….

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

                              Hi,

                              versuch mal folgenden befehl über putty im Verzeichnis /opt/iobroker/ (wo ja auch deine backup.sh liegt) auszuführen:

                              bash backup.sh "komplett||||||"
                              

                              und sag mir mal was dabei rauskommt.

                              Gruß

                              Steffen

                              1 Reply Last reply Reply Quote 0
                              • E
                                eXTreMe last edited by

                                @peoples:

                                Hi,

                                versuch mal folgenden befehl über putty im Verzeichnis /opt/iobroker/ (wo ja auch deine backup.sh liegt) auszuführen:

                                bash backup.sh "komplett||||||"
                                

                                und sag mir mal was dabei rauskommt.

                                Gruß

                                Steffen `

                                Habe das script als root ausgeführt:

                                --- Es wurde ein Komplettes Backup gestartet ---
                                tar: Entferne führende „/“ von Elementnamen
                                tar: Entferne führende „/“ von Zielen harter Verknüpfungen
                                
                                --- Backup Erstellt ---
                                --- Es werden keine alten Backups geloescht ---
                                --- Backup-File wurde nicht auf ein anderes Verzeichnis kopiert ---
                                

                                Es hängt wohl am kopieren auf mein NAS…. aber es sind die gleichen Parameter wie beim Minimal Backup im Script eingetragen, und beim Minimal Backup klappt ja alles.

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

                                  Vielleicht hast du irgendwelche Leerzeichen drin oder ein Zeichen vergessen? Kopier dein Script mit verdecktem Passwort Mal hier rein.

                                  Bei mir hat es auch erst nicht geklappt 🙂

                                  VG Thorsten

                                  Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                                    @peoples:

                                    @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:
                                    filename="view_test.txt" index="1">~~

                                    Und hier der Export von Test2:
                                    filename="view_test2.txt" index="0">~~

                                    Importier die mal und schau mal ob das verständlich ist

                                    Gruß

                                    Steffen ` Hi,

                                    Ich habe test2 importiert und immer wenn ich in die Zeit rein klicke, ändert sich meine Bitte und springt in die Start View. Hast du da irgendwo sowas eingebaut gehabt?

                                    Dachte und Grüße, Thorsten

                                    Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

                                    1 Reply Last reply Reply Quote 0
                                    • B
                                      Baerny last edited by

                                      Habe das script als root ausgeführt:

                                      --- Es wurde ein Komplettes Backup gestartet ---
                                      tar: Entferne führende „/“ von Elementnamen
                                      tar: Entferne führende „/“ von Zielen harter Verknüpfungen
                                      
                                      --- Backup Erstellt ---
                                      --- Es werden keine alten Backups geloescht ---
                                      --- Backup-File wurde nicht auf ein anderes Verzeichnis kopiert ---
                                      

                                      Es hängt wohl am kopieren auf mein NAS…. aber es sind die gleichen Parameter wie beim Minimal Backup im Script eingetragen, und beim Minimal Backup klappt ja alles.

                                      Bei mir auch, das Backup wird ausgeführt, auf dem Raspi in Backups auch gespeichert, aber nicht auf die Synology übertragen.

                                      Wie bei Steffen, das kleine Backup wird auf die Synology übertragen.

                                      Gruß Baerny

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

                                        @eXTreMe:

                                        Es hängt wohl am kopieren auf mein NAS…. aber es sind die gleichen Parameter wie beim Minimal Backup im Script eingetragen, und beim Minimal Backup klappt ja alles. `

                                        @Baerny:

                                        Wie bei Steffen, das kleine Backup wird auf die Synology übertragen.

                                        Gruß Baerny `
                                        Dann zeigt mal bitte den Konfigteil aus eurem Javascript ohne das Passswort des Nas (Zeilen 16 -57), dann gebe ich euch den direkten Putty - Aufruf und ihr könnt diesen dann ausprobieren ob der das Backup auf den Ftp kopiert.

                                        @Kueppert:

                                        Ich habe test2 importiert und immer wenn ich in die Zeit rein klicke, ändert sich meine Bitte? (view denk ich oder? war die Autokorrektur wieder fleißig :lol: ? und springt in die Start View. Hast du da irgendwo sowas eingebaut gehabt? `
                                        Nein bei mir nicht, ich blende wie gesagt die "Konfig-View" in der die ganzen Einstellungen gemacht werden in meine "Home-View" mit dem genannten widget ein, dann sieht man es standardmäßig. Für dieses Widget stelle ich dann die Sichtbarkeit in Abhängigkeit des Datenpunktes ein, ich kann dir hier gerne nochmal paar Screenshots machen wenn dir das hilft.

                                        1 Reply Last reply Reply Quote 0
                                        • B
                                          Baerny last edited by

                                          Hallo Steffen, hier mein Script

                                          // *******************************************************************************************************
                                          //
                                          // Backup Script 
                                          //
                                          //
                                          // Funktionen:  1\. Typisches Backup wie es der Befehl ./iobroker backup erstellt
                                          //              2\. Großes Backup das den ganzen IoBroker Ordner inkl. aller Unterordner/Dateien Sichert 
                                          //
                                          //
                                          // V1.0   - 22.12.2017  Automatisches Backupscript
                                          // V1.0.1 - 12.01.2018  Uploadmöglichkeit auf einen FTP-Server eingebaut
                                          //                      Hier wird die lftp-Funktion benutzt somit muss diese auch in Debian vorhanden sein!
                                          //                      lftp kann mit dem Befehl: apt-get install lftp installiert werden.
                                          //
                                          // *******************************************************************************************************
                                          
                                          // -----------------------------------------------------------------------------
                                          // allgemeine Variablen
                                          // -----------------------------------------------------------------------------
                                          var logging = true;                                        // Logging on/off
                                          var instanz = 'javascript.0';  instanz = instanz + '.';     // 
                                                                                                      //
                                          var pfad0 =   'System.Iobroker.Backup.';                    // Pfad innerhalb der Instanz - Status allgemien
                                          
                                          var bash_script = 'bash /opt/iobroker/backup.sh ';          // Pfad zu backup.sh Datei
                                          
                                          // Wichtig! Es dürfen keine Leerzeichen in dem Backup-Array sein wenn kein Eintrag benötigt wird
                                          // nur '' verwenden!
                                          
                                          var Backup = [];                                        // Array für die Definition der Backuptypen und deren Details
                                              Backup[0] = [];
                                              Backup[0][0] = 'minimal';                           // Backup Typ (nicht verändern)
                                              Backup[0][1] = '';                                  // Names Zusatz, wird an den Dateinamen angehängt bspw. Master/Slave (falls gewünscht, ansonsten leer lassen) 
                                              Backup[0][2] = '10';                                // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
                                              Backup[0][3] = '192.168.178.48';                       // FTP-Host
                                              Backup[0][4] = 'iobroker/backup';        // genaue Verzeichnissangabe bspw. /volume1/Backup/ auf FTP-Server (falls gewünscht, ansonsten leer lassen)
                                              Backup[0][5] = 'iobroker';                          // Username für FTP - Verbindung
                                              Backup[0][6] = '#########';                          // Passwort für FTP - Verbindung
                                          
                                              Backup[1] = [];
                                              Backup[1][0] = 'komplett';                          // Backup Typ (nicht verändern)
                                              Backup[1][1] = '';                                  // Names Zusatz, wird an den Dateinamen angehängt bspw. Master/Slave (falls gewünscht, ansonsten leer lassen)
                                              Backup[1][2] = '10';                                // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
                                              Backup[1][3] = '192.168.178.48';                       // FTP-Host
                                              Backup[1][4] = 'iobroker/backup';         // genaue Verzeichnissangabe bspw. /volume1/Backup/ auf FTP-Server (falls gewünscht, ansonsten leer lassen)
                                              Backup[1][5] = 'backup';                          // Username für FTP - Verbindung
                                              Backup[1][6] = '#########';                          // Passwort für FTP - Verbindung
                                          
                                          var Wochentage = ['Sonntag','Montag','Dienstag','Mittwoch','Donnerstag','Freitag','Samstag'];       // Wochentage für die Backupeistellungen angelegt werden 
                                                                                                                                              // (Mit Sonntag beginnen wegen Schedule)
                                          var BkpZeit_Schedule = []; 
                                          // =============================================================================
                                          // Objekt
                                          
                                          1 Reply Last reply Reply Quote 0
                                          • K
                                            Kueppert last edited by

                                            @peoples:

                                            @eXTreMe:

                                            Es hängt wohl am kopieren auf mein NAS…. aber es sind die gleichen Parameter wie beim Minimal Backup im Script eingetragen, und beim Minimal Backup klappt ja alles. `

                                            @Baerny:

                                            Wie bei Steffen, das kleine Backup wird auf die Synology übertragen.

                                            Gruß Baerny `
                                            Dann zeigt mal bitte den Konfigteil aus eurem Javascript ohne das Passswort des Nas (Zeilen 16 -57), dann gebe ich euch den direkten Putty - Aufruf und ihr könnt diesen dann ausprobieren ob der das Backup auf den Ftp kopiert.

                                            @Kueppert:

                                            Ich habe test2 importiert und immer wenn ich in die Zeit rein klicke, ändert sich meine Bitte? (view denk ich oder? war die Autokorrektur wieder fleißig [emoji38] ? und springt in die Start View. Hast du da irgendwo sowas eingebaut gehabt? Nein bei mir nicht, ich blende wie gesagt die "Konfig-View" in der die ganzen Einstellungen gemacht werden in meine "Home-View" mit dem genannten widget ein, dann sieht man es standardmäßig. Für dieses Widget stelle ich dann die Sichtbarkeit in Abhängigkeit des Datenpunktes ein, ich kann dir hier gerne nochmal paar Screenshots machen wenn dir das hilft. Hoppela lol,

                                            ja war die Korrektur wieder Klasse 😄

                                            Hab nochmal weiter getestet… Am PC habe ich das Problem nicht, nur in vis (egal ob über Cloud oder WLAN).

                                            Ich teste Mal weiter und melde mich. Vielleicht wären paar Screens von dir doch hilfreich, dann baue ich die Mal nach und teste die zusätzlich mit...

                                            Danke dir und Grüße, Thorsten

                                            Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            858
                                            Online

                                            31.7k
                                            Users

                                            79.9k
                                            Topics

                                            1.3m
                                            Posts

                                            29
                                            283
                                            41423
                                            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