Skip to content
  • Recent
  • Tags
  • 0 Unread 0
  • Categories
  • Unreplied
  • Popular
  • GitHub
  • Docu
  • Hilfe
Skins
  • Light
  • Brite
  • Cerulean
  • Cosmo
  • Flatly
  • Journal
  • Litera
  • Lumen
  • Lux
  • Materia
  • Minty
  • Morph
  • Pulse
  • Sandstone
  • Simplex
  • Sketchy
  • Spacelab
  • United
  • Yeti
  • Zephyr
  • Dark
  • Cyborg
  • Darkly
  • Quartz
  • Slate
  • Solar
  • Superhero
  • Vapor

  • Default (No Skin)
  • No Skin
Collapse
Logo
  1. ioBroker Community Home
  2. Deutsch
  3. Skripten / Logik
  4. [Vorlage] Script für automatisches Backup steuerbar durch VIS

NEWS

  • UPDATE 31.10.: Amazon Alexa - ioBroker Skill läuft aus ?
    apollon77A
    apollon77
    48
    3
    8.0k

  • Monatsrückblick – September 2025
    BluefoxB
    Bluefox
    13
    1
    1.8k

  • Neues Video "KI im Smart Home" - ioBroker plus n8n
    BluefoxB
    Bluefox
    15
    1
    2.0k

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

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

Scheduled Pinned Locked Moved Skripten / Logik
283 Posts 29 Posters 54.2k Views
  • Oldest to Newest
  • Newest to Oldest
  • Most Votes
Reply
  • Reply as topic
Log in to reply
This topic has been deleted. Only users with topic management privileges can see it.
  • PeoplesP Offline
    PeoplesP Offline
    Peoples
    wrote on last edited by
    #1

    <size size="150">Edit

    Neue Version hier:</size>

    viewtopic.php?f=21&t=13874

    Hi Leute,

    ich habe lange nach einer Lösung gesucht wie ich automatisch Backups meiner IoBroker Installation durchführen und die Ausführzeit schnell und einfach in Vis ändern kann. Da ich leider nichts finden konnte das dem nahe kommt was ich mir vorstellte, hab ich mir da selber was zusammen gestellt.

    Vielleicht hat der Ein oder Andere dafür Verwendung deshalb stelle ich es euch hier mal ein. Die Basis ist ein Javascript das ein Shell-Script aufruft.

    Das Shell-Script habe ich von Kuddel aus diesem Beitrag nur ein bisschen modifiziert:

    http://forum.iobroker.net/viewtopic.php?f=21&t=9861

    Es gibt zwei verschiedene Backup-Typen:

      • Minimal -> entspricht dem ganz normalen IoBroker - Backup welches man durch ./iobroker backup ausführen kann.
    - Komplett -> entspricht einer Sicherung des ganzen IoBroker Verzeichnisses (Die Dateigröße sollte man dabei bedenken sind bei mir ca. 200 MB) 
    

    So könnt ihr es verwenden / testen

      • das Shell-Script müsst ihr in das IoBroker-Verzeichis als backup.sh speichern (/opt/iobroker/backup.sh)
    - das Java-Backup-Script müsst ihr einmal mit "BackupStellen();"(Zeile 96) ausführen um die Objekte für Vis zu erzeugen, dass hier das erstemal Warnigs kommen liegt daran dass die Objekte noch nicht erzeugt sind.
    
    - Dann noch die View importieren und ihr soltet es EIGENTLICH verwenden können.
    
    *NEU*
    
    - Um die FTP-Funktion nutzen zu können müsst Ihr in der Konsole unter Debian: sudo apt-get install lftp" ausführen
    
    - Freigaben auf dem Nas bzw. Ftp-Server einrichten (Hatte ich vergessen und hab ewig den Fehler gesucht :lol: )
    
    - eXTreMe hat mich darauf hingewiesen, dass wenn man einen Javascriptadaper mit einer Version höher 3.4.0 verwendet es notwendig ist in den Einstellungen das exec Komando zu aktivieren sonst funktioniert es nicht. 
    

    Mögliche Backupeinstellungen:

      • Optionaler Namenszusatz, für Leute die eine bspw. eine Master/Slave Umsetzung haben und diese benennen wollen.
    - Optionales Löschen alter Backups nach X-Tagen, seperat für "Minimale" und "Komplette" Backups
    
    NEU
    
    - Optionaler Upload des Backups auf einen FTP-Server (getestet mit einer Synology Diskstation) 
    

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

    olifall hatte das Problem dass nach dem Restore das Webinterface nicht erreichbar war, hier hat er ebenfalls eine Lösung gefunden:

      • sudo iobroker status
    - Meldung = "No connection to states 127.0.0.0:6379[redis]"
    
    - sudo apt-get install redis-server 
    

    *TODO

    Habe heute gelesen dass wenn man Raspberrymatic nutzt, man auch ein Backup über die Console anstoßen kann.

    Ich werde versuchen das ebenfalls mit einzubinden, so wäre es dann eine All in One Lösung

    *Edit

    Bei mir ist Debian Stretch 8

    So genug geschrieben, hier das Javascript für IoBroker:

    ! ````
    // *******************************************************************************************************
    //
    // 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.
    // v1.0.2 - 12.02.2018 Datenpunkt für letzten Backupdurchlauf eingepflegt.
    //
    // *******************************************************************************************************
    ! // -----------------------------------------------------------------------------
    // 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.1.2'; // 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] = 'username'; // Username für FTP - Verbindung
    Backup[0][6] = 'passwort'; // 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.2';                       // 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] = 'username';                          // Username für FTP - Verbindung
    Backup[1][6] = 'passwort';                          // 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 = [];
    // =============================================================================
    // Objekte
    // =============================================================================
    // Objekt für Zufalls-Farbwechsel an oder aus
    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
    createState(instanz + pfad0 + 'letztes_Backup', {def: 'Noch kein Backup', type: 'string', name: 'Letztes Backup'});
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    // $$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$$
    ! // #############################################################################
    // # #
    // # Funktion zum anlegen eines Schedules für Backupzeit #
    // # #
    // #############################################################################
    ! function BackupStellen() {
    setState(instanz + pfad0 +'Auto_Backup', false);
    Backup.forEach(function(Bkp) {

        Wochentage.forEach(function(Wochentag){
            // -----------------------------------------------------------------------------
            // Objekte in Abhänigkeit der Backups
            // -----------------------------------------------------------------------------
            // Objekte für AutoBackup Ein/Aus
            createState(instanz + pfad0 + Bkp[0] +'.BackupState_'+Wochentag,  {def: 'false',type: 'boolean',name: 'Backup aktiviert '+Wochentag});
    
            // Objekte für BackupZeit
            createState(instanz + pfad0 + Bkp[0] +'.BackupZeit_'+Wochentag,  {def: '02:00',type: 'string',name: 'Backup Zeit am '+Wochentag});
    
            if(getState(instanz + pfad0 + Bkp[0] + '.BackupZeit_'+Wochentag).val){
                var BkpZeit = getState(instanz + pfad0 + Bkp[0] + '.BackupZeit_'+Wochentag).val.split(':');
                //log(WKZeit[1] + ' ' + WKZeit[0] + ' * * 1');
                log(getState(instanz + pfad0 + Bkp[0]+ '.BackupState_'+Wochentag).val);
    
                if(getState(instanz + pfad0 + Bkp[0]+ '.BackupState_'+Wochentag).val === true){
                    setState(instanz + pfad0 +'Auto_Backup', true);
                    clearSchedule(BkpZeit_Schedule[Bkp[0]+'.'+Wochentag]);
                    BkpZeit_Schedule[Bkp[0]+'.'+Wochentag] = schedule(BkpZeit[1] + ' ' + BkpZeit[0] + ' * * '+ Wochentage.indexOf(Wochentag), function (){backup_erstellen(Bkp[0], Bkp[1], Bkp[2], Bkp[3], Bkp[4], Bkp[5], Bkp[6])});
                    if(logging) log('Automatisches Backup für '+Bkp[0]+' am '+Wochentag+' wurde auf '+BkpZeit[0]+': '+BkpZeit[1]+' Uhr aktiviert');
                }
                else{                                                               
                     clearSchedule(BkpZeit_Schedule[Bkp[0]+'.'+Wochentag]);
                    if(logging) log('Automatisches Backup für '+Bkp[0]+' am '+Wochentag+' wurde deaktiviert');
                }
            }
        });
    });
    

    }

    ! //BackupStellen();
    //backup_erstellen('minimal', '', '', 'IP', 'Backup/', 'ftpUser', 'ftpPass');
    ! 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);
    }
    setState(instanz + pfad0 + 'letztes_Backup', formatDate(new Date(), 'DD.MM.YYYY') +' um '+ formatDate(new Date(), 'hh:mm:ss'));
    });

    if(logging) log("exec: " + ((bash_script+' '+typ+' '+zeit+' '+pfad)));
    

    }

    ! // #############################################################################
    // # #
    // # Beobachten aller Backupeinstellungen #
    // # #
    // #############################################################################
    ! on([instanz + pfad0 + "komplett.BackupState_Montag",
    instanz + pfad0 + "komplett.BackupState_Dienstag",
    instanz + pfad0 + "komplett.BackupState_Mittwoch",
    instanz + pfad0 + "komplett.BackupState_Donnerstag",
    instanz + pfad0 + "komplett.BackupState_Freitag",
    instanz + pfad0 + "komplett.BackupState_Samstag",
    instanz + pfad0 + "komplett.BackupState_Sonntag",
    instanz + pfad0 + "komplett.BackupZeit_Montag",
    instanz + pfad0 + "komplett.BackupZeit_Dienstag",
    instanz + pfad0 + "komplett.BackupZeit_Mittwoch",
    instanz + pfad0 + "komplett.BackupZeit_Donnerstag",
    instanz + pfad0 + "komplett.BackupZeit_Freitag",
    instanz + pfad0 + "komplett.BackupZeit_Samstag",
    instanz + pfad0 + "komplett.BackupZeit_Sonntag",
    instanz + pfad0 + "minimal.BackupState_Montag",
    instanz + pfad0 + "minimal.BackupState_Dienstag",
    instanz + pfad0 + "minimal.BackupState_Mittwoch",
    instanz + pfad0 + "minimal.BackupState_Donnerstag",
    instanz + pfad0 + "minimal.BackupState_Freitag",
    instanz + pfad0 + "minimal.BackupState_Samstag",
    instanz + pfad0 + "minimal.BackupState_Sonntag",
    instanz + pfad0 + "minimal.BackupZeit_Montag",
    instanz + pfad0 + "minimal.BackupZeit_Dienstag",
    instanz + pfad0 + "minimal.BackupZeit_Mittwoch",
    instanz + pfad0 + "minimal.BackupZeit_Donnerstag",
    instanz + pfad0 + "minimal.BackupZeit_Freitag",
    instanz + pfad0 + "minimal.BackupZeit_Samstag",
    instanz + pfad0 + "minimal.BackupZeit_Sonntag"], function (dp) {

    BackupStellen();
    

    ! });
    ! ````

    Hier das Shell-Script:
    2417_backup.sh.v2.zip

    Hier der Widgetexport:
    2417_widget_export.txt

    Und so schauts aus:
    2417_sicherung.jpg

    So ich hoffe es funktioniert nicht nur bei mir :lol:

    Wenn Probleme, Fragen oder Anregungen auftauchen werde ich versuchen bestmöglichst zu helfen.

    In diesem Sinn viel Spaß beim "Probieren"

    Ich beantworte keine Fragen zu Themen via PN

    1 Reply Last reply
    0
    • K Online
      K Online
      Kueppert
      wrote on last edited by
      #2

      Cool, werde ich bei Gelegenheit testen. Aktuell sichere ich noch durch Entnahme der sdcard und Sicherung dieser am PC 🙂

      Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk

      UDM Pro, Intel NUC - ioBroker in Proxmox-VM, PiHole+Grafana&Influx+TasmoAdmin in LXCs, Raspberry Pi3 (als CCU), Zigbee-Stick Sonoff, Synology DS918+

      1 Reply Last reply
      0
      • A Offline
        A Offline
        AnToto
        wrote on last edited by
        #3

        Hallo,

        erstmal vielen Dank für die Scripte, ich hab alles wie beschrieben durchgeführt, erhalte jedoch diese Fehler:

        backup.sh: Zeile 2: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 17: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 18: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 19: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 20: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 21: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 22: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 24: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 25: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 32: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 33: /t>\r': Kommando nicht gefunden.

        backup.sh: Zeile 49: Syntaxfehler beim unerwarteten Wort `elif'

        'ackup.sh: Zeile 49: `elif [ $BKP_TYP == "komplett" ]; then

        Woran kann das liegen?

        Grüße

        1 Reply Last reply
        0
        • PeoplesP Offline
          PeoplesP Offline
          Peoples
          wrote on last edited by
          #4

          @Kueppert:

          Woran kann das liegen? `

          Hi,

          also das Script hast du ja bestimmt in den Ordner /opt/iobroker/ kopiert und backup.sh benannt. Dateirechte habe ich auf 0777 gesetzt.

          Wenn dem so ist versuch doch mal ob das Script über Putty ausführbar ist:

          • dazu gehst du ebenfalls in das Verzeichnis /opt/iobroker/

          • Im Anschluss tippst du folgendes ein: bash backup.sh "minimal||10|" (dabei ist wichtig die | und Anführungszeichen genau wie es da steht aus zu führen)

          So finden wir raus ob das Script selbst oder der Aufruf nicht funktioniert

          Gruß

          Steffen

          Ich beantworte keine Fragen zu Themen via PN

          1 Reply Last reply
          0
          • B Offline
            B Offline
            Baerny
            wrote on last edited by
            #5

            Hallo Steffen, auch bei mir kommt dieser Fehler wenn ich das Script im Terminal ausführe
            3933_script.jpeg

            CCU 2 | Intel NUC mit Proxmox

            1 Reply Last reply
            0
            • PeoplesP Offline
              PeoplesP Offline
              Peoples
              wrote on last edited by
              #6

              @Baerny:

              Hallo Steffen, auch bei mir kommt dieser Fehler wenn ich das Script im Terminal ausführe `

              Hi,

              könnte einer von euch den befehl mal mit bash ./backup.sh "minimal||10|" ausführen. Kann den Fehler bei mir nicht nachstellen deswegen bin ich da ein bisschen auf euch angewiesen.

              *EDIT

              Ich habe mir gerade iobroker auf einem pi3 installiert und es dort versucht, aber selbst hier kann ich es nicht nachstellen

              Danke

              Steffen

              Ich beantworte keine Fragen zu Themen via PN

              1 Reply Last reply
              0
              • B Offline
                B Offline
                Baerny
                wrote on last edited by
                #7

                @peoples:

                @Baerny:

                Hallo Steffen, auch bei mir kommt dieser Fehler wenn ich das Script im Terminal ausführe `

                Hi,

                könnte einer von euch den befehl mal mit bash ./backup.sh "minimal||10|" ausführen. Kann den Fehler bei mir nicht nachstellen deswegen bin ich da ein bisschen auf euch angewiesen.

                *EDIT

                Ich habe mir gerade iobroker auf einem pi3 installiert und es dort versucht, aber selbst hier kann ich es nicht nachstellen

                Danke

                Steffen `

                Hier das Ergebnis
                3933_script.jpeg

                CCU 2 | Intel NUC mit Proxmox

                1 Reply Last reply
                0
                • PeoplesP Offline
                  PeoplesP Offline
                  Peoples
                  wrote on last edited by
                  #8

                  So,

                  ein neuer Lösungsversuch, ich habe im Homematic-Forum folgendes gefunden:

                  "..Schuld ist der Zeichensatz von DOS und Unix. Es wird beim kopieren über Putty in Nano ein paar unsichtbaren Zeichen mit kopiert die Pi sieht.

                  Kannst du mal im /opt/iobroker Verzeichniss mit dem Befehl nano backup.sh nachsehen ob du da auch irgendwelche "unsichtbaren" Zeichen hast?

                  Alternativ habe ich im ersten Post meine Backup.sh nochmal gezippt hinterlegt so dass du diese versuchen könntest.

                  Gruß

                  Steffen

                  Ich beantworte keine Fragen zu Themen via PN

                  1 Reply Last reply
                  0
                  • B Offline
                    B Offline
                    Baerny
                    wrote on last edited by
                    #9

                    hab dir mal einen screenshot angehängt. Leider weis ich nicht wies mit unsichtbaren aussieht. Zip teste ich nachher mal
                    3933_script.jpeg

                    CCU 2 | Intel NUC mit Proxmox

                    1 Reply Last reply
                    0
                    • I Offline
                      I Offline
                      Ingo
                      wrote on last edited by
                      #10

                      Steffen, DANKE !

                      das scheint es gewesen zu sein.

                      Es wurde eine Datei "backupiobroker_minimal…..." erstellt.

                      Anbei ein Bild.

                      Hat es irgendwo Auswirkungen, das ioBroker vor dem Backup nicht gestoppt wird ?

                      Guten Rutsch ins neue Jahr !

                      Grüße Ingo.
                      1519_2017-12-31__5_.png

                      Brix 3150, Debian, IoBroker

                      RPi3 Raspberrymatic, Arduino Mega mit RF-Link 433 MHz, Echo Dot,

                      RPi3 Magic Mirror mit View-Wechsel

                      Xiaomi Gateway mit div. Sensoren

                      1 Reply Last reply
                      0
                      • B Offline
                        B Offline
                        Baerny
                        wrote on last edited by
                        #11

                        nach dem einsetzen der backup.sh wurde das Backup erstellt. Jetzt funktioniert es.

                        😄

                        CCU 2 | Intel NUC mit Proxmox

                        1 Reply Last reply
                        0
                        • PeoplesP Offline
                          PeoplesP Offline
                          Peoples
                          wrote on last edited by
                          #12

                          @Baerny:

                          nach dem einsetzen der backup.sh wurde das Backup erstellt. Jetzt funktioniert es.

                          😄 `

                          Das ist eine gute Frage :lol: , also beim kleinen Backup dürfte es nichts machen da dies ja das gleiche ist was du mit ./iobroker backup ausführst. Beim großen konnte ich bei mir nichts feststellen wenn dir jedoch etwas auffällt sag Bescheid, dann packe ich den Stop noch mit rein.

                          @Baerny:

                          nach dem einsetzen der backup.sh wurde das Backup erstellt. Jetzt funktioniert es.

                          😄 `

                          Das Freut mich! Hatte schon die Befürchtung dass das nur bei mir funktioniert 😉

                          Euch auch nen guten Rutsch

                          Gruß

                          Steffen

                          Ich beantworte keine Fragen zu Themen via PN

                          1 Reply Last reply
                          0
                          • WebrangerW Offline
                            WebrangerW Offline
                            Webranger
                            wrote on last edited by
                            #13

                            Hallo

                            Gestern mal installiert und scheint zu laufen. Jedenfalls manuell, automatisch zeigt die zeit.

                            • Habe das widget im vis auf einer extra seite importiert, aber wozu ist der schliessen button unten?

                            • wenn ich 10 tage alte Dateien löschen lassen will muss ich “ja“ in der backup.sh eintragen oder im script?

                            • bekommt man es irgendwie hin per ftp die Dateien zu verschieben oder ist es einfacher dafür einen alten usbstick an den raspi zu stecken und die daten dort zu sichern?

                            Sorry für die Fragen aber raspi und linux sind für mich neuland

                            Gruss Danyel

                            Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                            1 Reply Last reply
                            0
                            • PeoplesP Offline
                              PeoplesP Offline
                              Peoples
                              wrote on last edited by
                              #14

                              Hi Danyel,

                              zu deinen Fragen:

                              • Schließen Button, ich verwende das "View in Widget" um die Backup-View einzublenden und über den Schließen-Button blende ich Sie wieder aus.

                              • Wenn du die 10 Tage alten Backups löschen möchtest musst du hier:````
                                ......
                                Backup[0][2] = '10'; // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)

                              
                              oder hier:````
                              ...... Backup[1][2] = '10';       // Alte Backups löschen nach X Tagen (falls gewünscht, ansonsten leer lassen)
                              ....... 
                              

                              die 10 oder bspw. 15 … Eintragen. Die Zahl gibt wie alt ein Backup sein muss dass es gelöscht wird. Wenn du das nicht möchtest einfach die Zahl zwischen den Anführungszeichen löschen.

                              • verschieben kannst du die Dateien indem du im jeweiligen Backup-Typen unter (Verzeichnis für Sicherungskopie) das Verzeichnis einträgst.

                              Link des ersten Posts ist das original Script hier kannst du dir die Syntax anschauen die du verwenden musst, ich selber nutze das jedoch nicht habe es nur eins zu eins übernommen ohne es zu testen. Werde bei Gelegenheit mal eine Share-Freigabe auf meinem Nas einrichten und es versuchen.

                              Wenn noch Fragen oder Probleme auftauchen melde dich einfach dann versuch ich weiter zu Helfen.

                              Gruß

                              Steffen

                              Ich beantworte keine Fragen zu Themen via PN

                              1 Reply Last reply
                              0
                              • PeoplesP Offline
                                PeoplesP Offline
                                Peoples
                                wrote on last edited by
                                #15

                                So!

                                Im ersten Post gibt es nun die neue Version des Update-Scripts.

                                Neu ist hier die Möglichkeit das lokal erstellte Backup auf einen Ftp-Server zu kopieren.

                                Ich nutze für den Ftp-Upload die Funktion "lftp" wer diese nicht in seinem Debian installiert hat muss das nachholen um den Ftp-Upload nutzen zu können!

                                (In der Konsole einfach "sudo apt-get install lftp" eingeben).

                                Ihr müsst auch die neue Version des Javascripts verwenden, hier könnt ihr im Kopf eure FTP-Daten einpflegen.

                                Dann noch die neue Version der Backup.sh in euer Verzeichnis kopieren und fertig.

                                Wer testen möchte ob die Backup.sh funktioniert bzw. zur Fehlersuche so wird über die Konsole aufgerufen:

                                backup.sh "BackupTyp|NamensZusatz|LöschenNachTagen|FTP-Host|FTP-DIR|UserName|Passwort"

                                Und hier ein Aufruf mit Beispieldaten:

                                bash backup.sh "minimal|Auto|10|192.168.1.2|Backup/ioBroker/|TestUser|TestPasswort"
                                
                                

                                Sollten Fragen oder Probleme auftauchen, versuche ich gerne zu helfen

                                Gruß

                                Steffen

                                Ich beantworte keine Fragen zu Themen via PN

                                1 Reply Last reply
                                0
                                • WebrangerW Offline
                                  WebrangerW Offline
                                  Webranger
                                  wrote on last edited by
                                  #16

                                  So wie es aussieht läuft es.

                                  Hatte erst probleme beim manuellen aufrufen "inkorect login" oder so aber das lag wohl an meinem ftp.

                                  Heute Nacht um 2 Uhr wurde ordnungsgemäß aufn ftp und die sd-card gesichert.

                                  Schauen wir mal was die nächsten Tage passiert.

                                  Aber erstmal DANKE

                                  Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                  1 Reply Last reply
                                  0
                                  • WebrangerW Offline
                                    WebrangerW Offline
                                    Webranger
                                    wrote on last edited by
                                    #17

                                    @peoples:

                                    • Schließen Button, ich verwende das "View in Widget" um die Backup-View einzublenden und über den Schließen-Button blende ich Sie wieder aus. `

                                    Wie machst du das? Steh gerade aufm schlauch mit dem "View in Widget" und dem Schließen-Button

                                    Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                    1 Reply Last reply
                                    0
                                    • PeoplesP Offline
                                      PeoplesP Offline
                                      Peoples
                                      wrote on last edited by
                                      #18

                                      @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:
                                      2417_view_test.txt

                                      Und hier der Export von Test2:
                                      2417_view_test2.txt

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

                                      Gruß

                                      Steffen

                                      Ich beantworte keine Fragen zu Themen via PN

                                      1 Reply Last reply
                                      0
                                      • WebrangerW Offline
                                        WebrangerW Offline
                                        Webranger
                                        wrote on last edited by
                                        #19

                                        Top.

                                        Verstanden und läuft

                                        Danke dir.

                                        Werde jetzt mal gucken was die tage dann passiert.

                                        Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                        1 Reply Last reply
                                        0
                                        • DutchmanD Online
                                          DutchmanD Online
                                          Dutchman
                                          Developer Most Active Administrators
                                          wrote on last edited by
                                          #20

                                          waehre es nicht interessant diese logic als einem adapter mit VIS widget satz zu definieren ?

                                          Ich finde die loesung wirklich super !

                                          1 Reply Last reply
                                          0
                                          Reply
                                          • Reply as topic
                                          Log in to reply
                                          • Oldest to Newest
                                          • Newest to Oldest
                                          • Most Votes


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          607

                                          Online

                                          32.4k

                                          Users

                                          81.3k

                                          Topics

                                          1.3m

                                          Posts
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Login

                                          • Don't have an account? Register

                                          • Login or register to search.
                                          • First post
                                            Last post
                                          0
                                          • Recent
                                          • Tags
                                          • Unread 0
                                          • Categories
                                          • Unreplied
                                          • Popular
                                          • GitHub
                                          • Docu
                                          • Hilfe