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

                  @poeples

                  Manchmal ist man so was von blind, habe den Fehler ( User falsch eingetragen )gefunden, klappt bei mir jetzt.

                  Vielen Dank

                  Baerny

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

                    @Baerny:

                    @poeples

                    Manchmal ist man so was von blind, habe den Fehler ( User falsch eingetragen )gefunden, klappt bei mir jetzt.

                    Vielen Dank

                    Baerny `

                    :lol: :lol:

                    Wollte es im Moment schreiben. Denke das ist schon jedem passiert

                    1 Reply Last reply Reply Quote 0
                    • E
                      eXTreMe 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. `

                      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. `

                      Hier der Konfig-Teil aus dem Script, alle werte sind bei minimal und komplett identisch, bis auf die tage die das backup behalten werden soll, aber daran sollte es ja nicht scheitern:

                      <code>// -----------------------------------------------------------------------------
                      // 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] = '30';                                // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
                          Backup[0][3] = '192.168.10.30';                     // FTP-Host
                          Backup[0][4] = 'backup/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] = 'xxxx';                         // 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.10.30';                     // FTP-Host
                          Backup[1][4] = 'backup/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] = 'xxxx';                         // 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 = []; [/code]</code>
                      
                      1 Reply Last reply Reply Quote 0
                      • Peoples
                        Peoples last edited by

                        @Kueppert:

                        Vielleicht wären paar Screens von dir doch hilfreich, dann baue ich die Mal nach und teste die zusätzlich mit… `

                        Wenn es nicht mehr ist, kein Problem:
                        2417_test2.jpg
                        Hier die View in dem die Einstellungen sind. (bei mir Test2)

                        2417_view_in_widget.jpg
                        Hier die View in dem ich das View in Widget benutze und ein- bzw. ausblenden will (bei mir Test)

                        2417_einblenden_button.jpg
                        Und hier noch der Button über den ich ein blende, ausgeblendet wird über den Schließen Button

                        Hoffe mal das bringt dich weiter, wenn nicht einfach nochmal melden!

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

                          @eXTreMe:

                          Hier der Konfig-Teil aus dem Script, alle werte sind bei minimal und komplett identisch, bis auf die tage die das backup behalten werden soll, aber daran… `
                          Da hast du recht, sind bei mir auch unterschiedlich.

                          Führe mal via Konsole/Putty folgendes aus und sag was passiert (vorher noch das PW ersetzen):

                          bash backup.sh "komplett||10|192.168.10.30|backup/ioBroker/|iobroker|DeinPasswort"
                          
                          1 Reply Last reply Reply Quote 0
                          • E
                            eXTreMe last edited by

                            @peoples:

                            @eXTreMe:

                            Hier der Konfig-Teil aus dem Script, alle werte sind bei minimal und komplett identisch, bis auf die tage die das backup behalten werden soll, aber daran… `
                            Da hast du recht, sind bei mir auch unterschiedlich.

                            Führe mal via Konsole/Putty folgendes aus und sag was passiert (vorher noch das PW ersetzen):

                            bash backup.sh "komplett||10|192.168.10.30|backup/ioBroker/|iobroker|DeinPasswort"
                            ```` `  
                            

                            Das klappt!!!

                            Wo liegt denn dann nun der Fehler?

                            –- Es wurde ein Komplettes Backup gestartet ---

                            tar: Entferne führende „/“ von Elementnamen

                            tar: Entferne führende „/“ von Zielen harter Verknüpfungen

                            --- Backup Erstellt ---

                            --- Alte Backups entfernen ---

                            --- Backup-File FTP-Upload ---

                            Verzeichniswechsel OK, cwd=/backup/ioBroker

                            157628827 Bytes übertragen in 15 Sekunden (10.27 MiB/s)

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

                              Kann mir evtl jemand sagen warum meine Zeiten so komisch dargestellt werden?

                              2958_bildschirmfoto_2018-01-21_um_18.19.22.png

                              Bekomm das irgendwie nicht hin das das "normal" angezeigt wird.

                              Gruss

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

                                @eXTreMe:

                                Das klappt!!!

                                Wo liegt denn dann nun der Fehler? `

                                Dann machen wir mal weiter, geh mal in das JavaScript und schreibe bspw. in Zeile 110 folgendes:

                                backup_erstellen('komplett','','10','192.168.10.30','backup/ioBroker/','iobroker','DeinPasswort');
                                

                                Dann auf Speichern. Dadurch wird die Funktion backup_erstellen mit den angegebenen Parametern aufgerufen und führt die backup.sh aus.

                                Auch hier wieder PW ändern und sagen was passiert.

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

                                  @ringdingringding:

                                  Kann mir evtl jemand sagen warum meine Zeiten so komisch dargestellt werden? `

                                  Hast du unter CSS-Allgemein evtl. ne falsche Breite angegeben?

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

                                    selbst wenn ich css alles raus lösche bleibt es so wie es ist

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

                                      Und wenn du jetzt mal 100px (bei mir steht da 60px) reinschreibst was ist dann?

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

                                        dann passiert nur das:

                                        2958_bildschirmfoto_2018-01-21_um_18.29.50.png

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

                                          Puh…

                                          Welche Vis-Version hast du? Ich hab die 1.0.4

                                          Gib mir mal nur von dem Uhrzeit-Widget den Export dann schau ich mal wie das bei mir aussieht

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

                                            hab auch die 1.0.4

                                            ! ````
                                            [{"tpl":"tplJquiInputDatetime","data":{"oid":"javascript.0.System.Iobroker.Backup.komplett.BackupZeit_Montag","g_fixed":false,"g_visibility":false,"g_css_font_text":true,"g_css_background":false,"g_css_shadow_padding":false,"g_css_border":false,"g_gestures":false,"g_signals":false,"signals-cond-0":"==","signals-val-0":true,"signals-icon-0":"/vis/signals/lowbattery.png","signals-icon-size-0":0,"signals-blink-0":false,"signals-horz-0":0,"signals-vert-0":0,"signals-hide-edit-0":false,"signals-cond-1":"==","signals-val-1":true,"signals-icon-1":"/vis/signals/lowbattery.png","signals-icon-size-1":0,"signals-blink-1":false,"signals-horz-1":0,"signals-vert-1":0,"signals-hide-edit-1":false,"signals-cond-2":"==","signals-val-2":true,"signals-icon-2":"/vis/signals/lowbattery.png","signals-icon-size-2":0,"signals-blink-2":false,"signals-horz-2":0,"signals-vert-2":0,"signals-hide-edit-2":false,"timeOnly":true,"hideSeconds":true,"size":"1","visibility-cond":"==","visibility-val":1,"visibility-groups-action":"hide","g_last_change":false,"lc-type":"last-change","lc-is-interval":true,"lc-is-moment":false,"lc-format":"","lc-position-vert":"top","lc-position-horz":"right","lc-offset-vert":0,"lc-offset-horz":0,"lc-font-size":"12px","lc-font-family":"","lc-font-style":"","lc-bkg-color":"","lc-color":"","lc-border-width":"0","lc-border-style":"","lc-border-color":"","lc-border-radius":10,"lc-zindex":0},"style":{"left":"797px","top":"92px","width":"60px","height":"","z-index":"2","font-weight":"bold"},"widgetSet":"jqui"}]

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate

                                            771
                                            Online

                                            31.8k
                                            Users

                                            80.0k
                                            Topics

                                            1.3m
                                            Posts

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