Skip to content
  • Aktuell
  • Tags
  • 0 Ungelesen 0
  • Kategorien
  • Unreplied
  • Beliebt
  • 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

  • Standard: (Kein Skin)
  • Kein Skin
Einklappen
ioBroker 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.2k

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

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

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

Geplant Angeheftet Gesperrt Verschoben Skripten / Logik
283 Beiträge 29 Kommentatoren 54.3k Aufrufe
  • Älteste zuerst
  • Neuste zuerst
  • Meiste Stimmen
Antworten
  • In einem neuen Thema antworten
Anmelden zum Antworten
Dieses Thema wurde gelöscht. Nur Nutzer mit entsprechenden Rechten können es sehen.
  • WebrangerW Offline
    WebrangerW Offline
    Webranger
    schrieb am zuletzt editiert von
    #93

    Nur mal so als idee.

    Könnte das Script nicht einen datenpunkt anlegen mit dem zeitstempel von der letzten Ausführung?

    Dann könnte man den im vis Anzeigen lassen zur Kontrolle

    Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

    1 Antwort Letzte Antwort
    0
    • PeoplesP Offline
      PeoplesP Offline
      Peoples
      schrieb am zuletzt editiert von
      #94

      @ringdingringding:

      Nur mal so als idee.

      Könnte das Script nicht einen datenpunkt anlegen mit dem zeitstempel von der letzten Ausführung?

      Dann könnte man den im vis Anzeigen lassen zur Kontrolle `

      Wenn es weiter nichts ist, hab ich erledigt und im Script des ersten Posts eingepflegt. Du kannst die zwei Zeilen aber auch einfach bei dir einpflegen.

      Einmal hier:

      createState(instanz + pfad0 + 'Auto_Backup', {def: 'false',type: 'boolean',name: 'Automatisches Backup'});
      createState(instanz + pfad0 +'Backupeinstellungen_sichtbar',  {def: 'false',type: 'boolean',name: 'Backup Einstellungen '});    //Datenpunkt für Vis - Einstellungen sichtbar Ja/Nein
      
      // Neu - einfach dazu schreiben
      createState(instanz + pfad0 + 'letztes_Backup',  {def: 'Noch kein Backup', type: 'string', name: 'Letztes Backup'});
      // Neu - einfach dazu schreiben
      
      

      Und hier:

      function backup_erstellen(typ, name, zeit, host, pfad, user, passwd) {
      //    exec(([bash_script ,typ, name, zeit, pfad].join('')), function(err, stdout, stderr) {
          exec((bash_script+' "'+typ+'|'+name+'|'+zeit+'|'+host+'|'+pfad+'|'+user+'|'+passwd+'"'), function(err, stdout, stderr) {
              if(logging){
                  if(err) log(stderr, 'error');
                  else log('exec: ' + stdout);
              }
      
      // Neu - einfach dazu schreiben       
              setState(instanz + pfad0 + 'letztes_Backup', formatDate(new Date(), 'DD.MM.YYYY') +' um '+ formatDate(new Date(), 'hh:mm:ss'));
      // Neu - einfach dazu schreiben      
      
          });
      
          if(logging) log("exec: " + ((bash_script+' '+typ+' '+zeit+' '+pfad)));
      }
      
      

      Ich beantworte keine Fragen zu Themen via PN

      1 Antwort Letzte Antwort
      0
      • H Offline
        H Offline
        HomeChristian
        schrieb am zuletzt editiert von
        #95

        Genial danke endlich habe ich auch ein auto Backup das funktioniert!!

        DANKE!!

        Leider bin ich zu blöd folgendes ans laufen zu bringen wenn jemand Tipps hat wäre ich sehr froh 😄

        • <list type="decimal">2. 1. ich möchte mit meiner Synology nicht FTP benutzen sonder SFTP leider bekomme ich keine verbidung zu stande. Weis jemand was ich ändern müsste? 😐
          <list type="2">* 2. mit lftp gibt es auch den Befehl "mirror" anstelle von "put". Damit sollte es doch möglich sein nur die eingestellten bakups synchron zu halten. Dann würde man das händische löschen auf der Diskstation sparen oder?

        raspberrymatic, iobroker auf Rock64

        1 Antwort Letzte Antwort
        0
        • WebrangerW Offline
          WebrangerW Offline
          Webranger
          schrieb am zuletzt editiert von
          #96

          @peoples:

          Wenn es weiter nichts ist, hab ich erledigt und im Script des ersten Posts eingepflegt. `

          Funktioniert so wie es aussieht. Mal die Tage abwarten DANKE

          Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

          1 Antwort Letzte Antwort
          0
          • PeoplesP Offline
            PeoplesP Offline
            Peoples
            schrieb am zuletzt editiert von
            #97

            @HomeChristian:

            1. ich möchte mit meiner Synology nicht FTP benutzen sonder SFTP leider bekomme ich keine verbidung zu stande. Weis jemand was ich ändern müsste? `
            Was ich gelesen habe kann man das mit lftp auch machen, müsstest du hier mal nachlesen:

            http://how-to.wikia.com/wiki/How_to_use … ftp_client

            @HomeChristian:

            mit lftp gibt es auch den Befehl "mirror" anstelle von "put". Damit sollte es doch möglich sein nur die eingestellten bakups synchron zu halten. Dann würde man das händische löschen auf der Diskstation sparen oder? `
            Die Überlegung war damals da die Backups nicht wirklich groß sind eben viele Stände zu "archivieren" aber ich werde mir das mal anschauen ob ich das eingepflegt bekomme.

            Ich beantworte keine Fragen zu Themen via PN

            1 Antwort Letzte Antwort
            0
            • WebrangerW Offline
              WebrangerW Offline
              Webranger
              schrieb am zuletzt editiert von
              #98

              @HomeChristian:

              <list type="2">* 2. mit lftp gibt es auch den Befehl "mirror" anstelle von "put". Damit sollte es doch möglich sein nur die eingestellten bakups synchron zu halten. Dann würde man das händische löschen auf der Diskstation sparen oder? `

              Das bedeutet was? Es gibt nur ein Backup und dieses wird einfach nur immer aktuallisiert?

              Was passiert bei einem Fehler, hätte man dann im dümmsten fall ein defektes Backup liegen was man nicht nutzen kann?

              Gruß

              Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

              1 Antwort Letzte Antwort
              0
              • PeoplesP Offline
                PeoplesP Offline
                Peoples
                schrieb am zuletzt editiert von
                #99

                Genau das war der Grund warum ich das nicht als Automatik eingebaut habe. Ich persönlich bin der Meinung dass eben die letze Rückfallebene nicht automatisiert werden sollte. Denoch schau ich wie das generell möglich wäre.

                Ich beantworte keine Fragen zu Themen via PN

                1 Antwort Letzte Antwort
                0
                • WebrangerW Offline
                  WebrangerW Offline
                  Webranger
                  schrieb am zuletzt editiert von
                  #100

                  Dann macht es ja schon eher sinn wenn man für jeden Wochentag ein Backup anlegt und das dann immer aktuell hält.

                  Oder halt alte daten auf dem ftp löschen kann

                  Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                  1 Antwort Letzte Antwort
                  0
                  • M Offline
                    M Offline
                    Marty56
                    schrieb am zuletzt editiert von
                    #101

                    Danke für das Backup Script und das Vis Widget.

                    Funktioniert prima. Tolle Sache. Auch mit FTP.

                    Zum Widget:

                    Was ich bemerkt habe, dass bei mir die Überschriften "normale Backup" usw. nicht formatiert wurden, die Font Size der Uhrzeiten zu groß ist und der "Schließen" Knopf keine Funktion hat.

                    Ein kleine Verbesserung wäre, wenn das Widget einen Knopf hätte, der "Backup jetzt" heißt". Dann könnte man den immer drücken, wenn man mal viel Änderungen gemacht hätte.

                    Zur Dok.

                    Was noch super wäre, wenn ein paar Beispiele zum Aufruf des Backup Scripts im Script dokumentiert würde. Es ist zwar ein formale Dokumentation dabei, aber für mich ist es immer einfacher, wenn ich ein lauffähiges Beispiel nehme und modifiziere.

                    Fazit:

                    In Summe hat mich die Integration dieses Backups 1,5 Stunden gekostet. Das ist schon ziemlich lange.

                    Wenn ich in alle Bescheidheit einen Wunsch an die ioBroker Entwickler äußern könnte, dann wäre es, dass die Verfahren zu Reusability von Scripts und Vis Views anderer Leute lzuerleichtern. Der Traum wäre so eine Art App Store.

                    HW:NUC (16 GB Ram)
                    OS: Debian Bullseye, Promox V7, node v16.x npm 8.19.3

                    1 Antwort Letzte Antwort
                    0
                    • WebrangerW Offline
                      WebrangerW Offline
                      Webranger
                      schrieb am zuletzt editiert von
                      #102

                      Heute gab es wieder keine Sicherung.

                      Letzte ist vom 14.2. dank Datenpunkt im vis direkt gesehen 😉

                      Script neu gestartet und mal weiter beobachten.

                      Raspi läuft seit 4 Tagen also liegt es da dran nicht.

                      Gruss

                      Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                      1 Antwort Letzte Antwort
                      0
                      • PeoplesP Offline
                        PeoplesP Offline
                        Peoples
                        schrieb am zuletzt editiert von
                        #103

                        Komisch, da das Backup über Schedule aufgerufen wird wäre es interessant zu wissen ob das schedule noch aktiv ist.

                        Füge mal:

                        log('Letzter Backupaufruf:' + formatDate(new Date(), 'DD.MM.YYYY') +' um '+ formatDate(new Date(), 'hh:mm:ss'));
                        

                        über dem Backup-Aufruf ein, so kannst du im Log sehen ob der Aufruf überhaupt noch kommt.

                        Direkt als erstes in dieser Funktion:

                        function backup_erstellen(typ, name, zeit, host, pfad, user, passwd) {
                        
                        

                        Nur nebenbei bei mir läuft seit ca. einem Monat jeden zweiten Tag ein Backup. Ich verwende aber auch einen alten Javascript-Adapter 3.4.0

                        Ich beantworte keine Fragen zu Themen via PN

                        1 Antwort Letzte Antwort
                        0
                        • WebrangerW Offline
                          WebrangerW Offline
                          Webranger
                          schrieb am zuletzt editiert von
                          #104

                          Gerade mal eingefügt:

                          javascript.0 2018-02-15 21:56:00.612 info script.js.common.backup: Letzter Backupaufruf:15.02.2018 um 21:56:00

                          mal beobachten

                          Muß ich evtl in der Konfiguration noch was einstellen?

                          2958_bildschirmfoto_2018-02-15_um_22.08.10.png

                          Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                          1 Antwort Letzte Antwort
                          0
                          • PeoplesP Offline
                            PeoplesP Offline
                            Peoples
                            schrieb am zuletzt editiert von
                            #105

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

                            Ich beantworte keine Fragen zu Themen via PN

                            1 Antwort Letzte Antwort
                            0
                            • WebrangerW Offline
                              WebrangerW Offline
                              Webranger
                              schrieb am zuletzt editiert von
                              #106

                              Laut Log

                              `2018-02-17 02:00:01.047  - [32minfo[39m: javascript.0 script.js.common.backup: exec: bash /opt/iobroker/backup.sh  minimal 10 [/code]`
                              
                              Wurde das script gestartet aber es wurde keine Sicherung angelegt und auch kein Datenpunkt für die Vis erzeugt, was ja auch gut ist weil ich es sonst nicht gemerkt hätte ;)
                              
                              Jetzt hab ich mal zeit auf jetzt gestellt und guck was das Log dann her gibt:
                              
                              `~~[code]~~2018-02-17 15:43:00.595  - [32minfo[39m: javascript.0 script.js.common.backup: exec: bash /opt/iobroker/backup.sh  minimal 10 
                              2018-02-17 15:43:16.218  - [32minfo[39m: javascript.0 script.js.common.backup: exec: minimal||10|ftp.xxxxx.net||iobroker|xxxpasswortxxx
                              
                              --- Es wurde ein Normales Backup gestartet ---
                              Backup created: /opt/iobroker/backups/2018_02_17-15_43_02_backupiobroker.tar.gz
                              
                              --- Backup Erstellt ---
                              
                              --- Alte Backups entfernen ---
                              
                              --- Backup-File FTP-Upload ---
                              
                              2018-02-17 15:44:23.529  - [32minfo[39m: web.0 2018-02-17T14:44:23.529Z Connected system.user.admin
                              2018-02-17 15:44:23.556  - [32minfo[39m: web.0 2018-02-17T14:44:23.556Z Connected system.user.admin
                              2018-02-17 15:44:23.584  - [32minfo[39m: web.0 2018-02-17T14:44:23.583Z Connected system.user.admin[/code]`
                              
                              Heute Nacht um 2 Uhr passierte auch das mit dem Speicher vom Raspi:
                               ![2958_bildschirmfoto_2018-02-17_um_16.14.03.png](/assets/uploads/files/2958_bildschirmfoto_2018-02-17_um_16.14.03.png) 
                              
                              Was sagt uns das nun?
                              
                              Warum läuft es Nachts nicht durch?[/code]
                              

                              Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                              1 Antwort Letzte Antwort
                              0
                              • PeoplesP Offline
                                PeoplesP Offline
                                Peoples
                                schrieb am zuletzt editiert von
                                #107

                                Wenn ich die Grafik richtig interpretiere sagt diese, dass es kurzzeitig nur noch minimalen/keinen verfügbaren Arbeitsspeicher gab oder?

                                Vielleicht verursacht der Exec-Befehl irgendwelche Fehler. Werde hierzu mal lesen ob ich was finde.

                                Wenn ich mich richtig erinnere, gab es bei Homematic mal probleme mit exec-Befehlen.

                                Ich beantworte keine Fragen zu Themen via PN

                                1 Antwort Letzte Antwort
                                0
                                • WebrangerW Offline
                                  WebrangerW Offline
                                  Webranger
                                  schrieb am zuletzt editiert von
                                  #108

                                  @peoples:

                                  Die Wiederherstellung des kompletten Backups funktioniert wie folgt:

                                  • Iobroker stoppen

                                  • Erstelltes Backup in den Root-Ordner kopieren

                                  • Befehl:" tar -xzvf Backupname.tar.gz -C / " über die Konsole ausführen.

                                  • Warten - Während der Wiederherstellung wird euch angezeigt was gerade gemacht wird.

                                  • Wenn alles fertig ist Iobroker starten (Danke an olifall der mir den richtigen Befehl/Ablauf mitgeteilt hat.) `

                                  Wirklich in den root ordner? Da komm ich per ftp nicht hin!

                                  Kann ich nicht einen ordner im/opt/iobroker/ nehmen evtl?

                                  Gruß

                                  Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                  1 Antwort Letzte Antwort
                                  0
                                  • K Offline
                                    K Offline
                                    Kueppert
                                    schrieb am zuletzt editiert von
                                    #109

                                    Huhu Ringding,

                                    wenn ich eine Multihost Umgebung nutze, erstellte in mit deinem Skript ein Backup für master+Slave zusammen?? Wenn nein, weißt du, wie das ganze für den Slave umgesetzt werden müsste?

                                    Danke und Grüße, Thorsten

                                    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 Antwort Letzte Antwort
                                    0
                                    • WebrangerW Offline
                                      WebrangerW Offline
                                      Webranger
                                      schrieb am zuletzt editiert von
                                      #110

                                      Keine multihost

                                      will umziehen von raspi auf intel nuc mit einer vm auf proxmox

                                      Intel NUC Celeron, Xiaomi Gateway, Fritzbox 7590, XS1

                                      1 Antwort Letzte Antwort
                                      0
                                      • PeoplesP Offline
                                        PeoplesP Offline
                                        Peoples
                                        schrieb am zuletzt editiert von
                                        #111

                                        @Kueppert:

                                        Huhu Ringding,

                                        wenn ich eine Multihost Umgebung nutze, erstellte in mit deinem Skript ein Backup für master+Slave zusammen?? Wenn nein, weißt du, wie das ganze für den Slave umgesetzt werden müsste?

                                        Danke und Grüße, Thorsten

                                        Gesendet von meinem HUAWEI RIO-L01 mit Tapatalk `

                                        Es wird in dem Script (zumindest bei komplett) immer die lokale Sicherung angestoßen wie sich das in einer Multihostumgebung mit dem ./iobroker backup verhällt kann ich nicht sagen da ich das selbst nicht nutze. Generell habe ich jedoch die Funktion eines Multihost-Backups nicht angedacht. In der Theorie müsstest du aber wie du geschrieben hast für jedes der Geräte ein eigenständiges Backup machen.

                                        Ich beantworte keine Fragen zu Themen via PN

                                        1 Antwort Letzte Antwort
                                        0
                                        • PeoplesP Offline
                                          PeoplesP Offline
                                          Peoples
                                          schrieb am zuletzt editiert von
                                          #112

                                          @ringdingringding:

                                          Wirklich in den root ordner? Da komm ich per ftp nicht hin!

                                          Kann ich nicht einen ordner im/opt/iobroker/ nehmen evtl?

                                          Gruß `

                                          Ich habe es damals vom Root-Ordner aus gemacht, um die Dateistrucktur zu erhalten. Ob das auch aus einem anderen Ordner heraus geht kann ich mal mit einem Raspberry testen und dir dann Rückmeldung geben.

                                          Alternativ habe ich hier eine Anleitung gefunden ftp auch für root frei zu geben vielleicht bringt dich das weiter:

                                          ! In den meisten Linux-Varianten wird der Superuser root vom Zugang via FTP ausgeschlossen. Allerdings erscheint dieselbe Fehlermeldung, wie bei einem falsch eingegebenen Kennwort.
                                          ! Die verweigerung des Zugriff ist auch sinnvoll, da das Passwort des root-User besonderen Schutz verdient und FTP die Kennwörter im Klartext übermittelt. Ein Datenschnüffler würde so mit ganz wenig Aufwand an das wichtigste Kennwort auf diesem System gelangen.
                                          ! Kein FTP-Zugriff für root
                                          ! Kein FTP-Zugriff für root
                                          ! Um diesen Schutz außer Kraft zu setzen, etwa fürs Intranet, genügt es in der Datei /etc/ftpd/ftpusers die Zeile “root” zu löschen oder auszukommentieren. In der Regel befindet sich die Datei ftpusers im Verzeichnis /etc.

                                          Ich beantworte keine Fragen zu Themen via PN

                                          1 Antwort Letzte Antwort
                                          0
                                          Antworten
                                          • In einem neuen Thema antworten
                                          Anmelden zum Antworten
                                          • Älteste zuerst
                                          • Neuste zuerst
                                          • Meiste Stimmen


                                          Support us

                                          ioBroker
                                          Community Adapters
                                          Donate

                                          748

                                          Online

                                          32.4k

                                          Benutzer

                                          81.4k

                                          Themen

                                          1.3m

                                          Beiträge
                                          Community
                                          Impressum | Datenschutz-Bestimmungen | Nutzungsbedingungen
                                          ioBroker Community 2014-2025
                                          logo
                                          • Anmelden

                                          • Du hast noch kein Konto? Registrieren

                                          • Anmelden oder registrieren, um zu suchen
                                          • Erster Beitrag
                                            Letzter Beitrag
                                          0
                                          • Aktuell
                                          • Tags
                                          • Ungelesen 0
                                          • Kategorien
                                          • Unreplied
                                          • Beliebt
                                          • GitHub
                                          • Docu
                                          • Hilfe