Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. Automatisches Backup

    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

    Automatisches Backup

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

      @Brati:

      Nabend,

      nachdem das letzte js.controller Update 14h Wiederherstellungsarbeit gekostet hat, habe ich die Scripte von hier für mich so zusammen gefasst:

      #!/bin/bash
      umount /mnt/backups
      mount.cifs //xx.xx.178.x/backups /mnt/backups -o user=user,passwd=passwort
      date +%F" "%H":"%M" Backup Anfang" >> /mnt/backups/iobroker/Backup.txt
      rsync -aLvzh --delete /opt/iobroker /opt/backup
      cd /opt/iobroker
      iobroker stop
      rsync -aLvzh /opt/iobroker /opt/backup
      # iobroker start
      cd /opt/backup
      tar -czf /opt/backup/iobroker_`date "+%w"`.tgz iobroker/
      mv *.tgz /mnt/backups/iobroker
      date +%F" "%H":"%M" Backup Ende "%w >> /mnt/backups/iobroker/Backup.txt
      echo >> /mnt/backups/iobroker/Backup.txt
      umount /mnt/backups
      cd /opt/iobroker
      # iobroker restart
      reboot
      
      

      Damit habe ich 7 Dateien auf dem NAS haben, die sich dann nach einer Woche immer überschreiben.

      auf dem PI benötigt man die Ordner:

      /mnt/backups

      /opt/backup

      Auf der Synology

      /backups/iobroker

      Update (vom 10.03.16):

      • delete eingefügt, sonst verbleiben gelöschte Dateien `

      Hi Brati, wie und wo legst du eigentlich dieses Script an? Ist noch was zu beachten außer das Anlegen der Ordner, wie von dir beschrieben?

      Gruß, Rob

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

        @RobS:

        Hi Brati, wie und wo legst du eigentlich dieses Script an? Ist noch was zu beachten außer das Anlegen der Ordner, wie von dir beschrieben?

        Gruß, Rob `

        Mahlzeit,

        das hat sissiwup sehr genial beschrieben:

        http://forum.iobroker.de/viewtopic.php? … 798#p10597

        Ich füge mal den Verweis in meinem Post ein.

        Grüße

        Brati

        1 Reply Last reply Reply Quote 0
        • R
          RobS last edited by

          Ok, Danke.

          1 Reply Last reply Reply Quote 0
          • D
            DiJaexxl last edited by

            @sissiwup:

            Hallo,

            hier meine aktuelle Lösung (naja gebranntes Kind):

            Mein NAS lauscht auf 192.168.1.91 und hat eine Freigabe myshare, da liegt ein Unterverzeichnis backup drin, wo sowieso schon alle hinsichern

            Es geht natürlich auch jede Windowsfreigabe, die erreichbar ist.

            im Verzeichnis /opt mit````
            nano backup.sh

            #!/bin/bash
            umount /mnt/myshare
            mount.cifs //192.168.1.91/myshare /mnt/myshare -o user=meinuseraufnas,passwd=meinpasswordaufnas
            rsync -aLvzh /opt/iobroker /mnt/myshare/backup/iobroker
            cd /opt/iobroker
            iobroker stop
            rsync -aLvzh /opt/iobroker /mnt/myshare/backup/iobroker
            cd /opt/iobroker
            iobroker start
            umount /mnt/myshare

            
            backup.sh ausführbar machen:
            

            chmod ugo+rx backup.sh

            
            Warum die Befehle:
            
            Der umount am Anfang, falls ich das mal per Hand gemeountet hatte um sauber zu sein
            
            Dann das mounten der Netzwerkfreigabe.
            
            Anschließend die erste Sicherung, wenn hier etwas schief geht, habt ihr den iobroker noch nicht runtergefahren.
            
            Der sichert alles, ausser Dateien, die gelockt sind.
            
            (Wichtig! Kein "/" hinter iobroker, sonst legt er das Unterverzeichnis nicht an.)
            
            Dann den iobroker stoppen
            
            Jetzt die Sicherung der restlichen paar Dateien, sollte rasend fix gehen (im Sekundenbereich)
            
            Anschließend Neustart des iobrokers
            
            und Aufräumen mit unmount
            
            im Verzeichnis /mnt das Unterverzeichnis myshare = /mnt/myshare anlegen
            
            Und das ganze wird automatisch um 4:00 (= 0 4) gestartet mit
            
            

            nano /etc/crontab

            /etc/crontab: system-wide crontab

            Unlike any other crontab you don't have to run the `crontab'

            command to install the new version when you edit this file

            and files in /etc/cron.d. These files also have username fields,

            that none of the other crontabs do.

            SHELL=/bin/sh
            PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

            m h dom mon dow user command

            17 * * * * root cd / && run-parts --report /etc/cron.hourly
            25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
            47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
            52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
            0 4 * * * root /opt/backup.sh >> /opt/backup.log

            ```` `

            Hallo,

            ich wollte mich an der Scriptidee dran hängen. Da ich aber keine Ahnung habe mal ein paar Fragen:

            In welches Verzeichnis lege ich die backup.sh?

            Wie kann ich händisch die backup.sh aufrufen? mit "sudo backup.sh" (im root) bekomme ich die Fehlermeldung "sudo: backup.sh: command not found"

            1 Reply Last reply Reply Quote 0
            • A
              aquapro last edited by

              Da steht es:

              0  4    * * *   root    /opt/backup.sh >> /opt/backup.log
              

              Also im Verzeichnis

              /opt
              

              aber Du kannst es auch wo anders hinlegen.

              Und da kannst Du es auch ausführen.

              wenn Du im entsprechenden Verzeichnis bist z.B. mit

              ./backup.sh
              

              Gruß

              Tino

              1 Reply Last reply Reply Quote 0
              • D
                DiJaexxl last edited by

                Hallo,

                ich noch einmal, der Ahnungslose 🙂

                Ich für die Befehle im SSH Terminal einzeln aus.

                Mounten läuft, aber bei dem ersten rsync Befehl, hängt sich der Befehl wahrlos auf.

                Es hängt nicht an einer Datei. Was kann ich da tun?

                1 Reply Last reply Reply Quote 0
                • A
                  aquapro last edited by

                  Kein Problem, wir lernen jeden Tag etwas neues.

                  Wie lange hast Du gewartet? Ein erster sync dauert, weil dabei ja alles kopiert werden muss.

                  Und was bedeutet bei Dir "hängt sich auf"?

                  Gruß

                  Tino

                  1 Reply Last reply Reply Quote 0
                  • D
                    DiJaexxl last edited by

                    Ich meinte es tut sich Minuten lang nix, aber so gar nix.

                    Ich habe nun auf meinem Testsystem (Pi3 ) das Brati Script. Das flubt wie geschnitten Brot.

                    Da es so super läuft, wollte ich das auf meinem Produktivsystem (Cubitruck) nutzen.

                    Wenn ich nun mounten will mit dem Befehl

                    mount.cifs //192.168.178.195/backup /mnt/backup -o user=ioBroker,passwd=xxx
                    
                    

                    bekomme ich den Fehler:

                    -bash: mount.cifs: command not found
                    

                    Genau der gleiche Befehl geht auf dem Pi3 (natürlich mit korektem Password)

                    Goggle sagt: Mach mal:

                    sudo apt-get install nfs-common portmap
                    

                    Han isch auch getan. Gleicher Fehler

                    1 Reply Last reply Reply Quote 0
                    • A
                      aquapro last edited by

                      @DiJaexxl:

                      mount.cifs //192.168.178.195/backup /mnt/backup -o user=ioBroker,passwd=xxx
                      
                      ```` `  
                      

                      Via kopie past hat der wo anders funktioniert?

                      Und damit besser?

                      sudo apt-get install cifs-utils
                      
                      1 Reply Last reply Reply Quote 0
                      • D
                        DiJaexxl last edited by

                        @aquapro:

                        Und damit besser?

                        sudo apt-get install cifs-utils
                        ```` `  
                        

                        Jetzt geht´s

                        1 Reply Last reply Reply Quote 0
                        • A
                          aquapro last edited by

                          super.

                          1 Reply Last reply Reply Quote 0
                          • C
                            charlyphyro last edited by

                            Hallo zusammen,

                            Da an meinem Cubie einen Usb-Stick hängen habe, wird dort direkt die Sicherung eingespielt.

                            Wurde gemischt mit dem Mounten vom externen Datenträger + die Anleitung von Sissiwup.

                            Falls Interesse besteht könnte ich für die Leute die keine NAS haben eine Tutorial erstellen?

                            Viele Grüße & schöne Pfingsten noch 😄

                            1 Reply Last reply Reply Quote 0
                            • C
                              chka last edited by

                              Danke für das tolle script

                              ich drehe gerade am rad, ich bin auf Debian Jessie umgestiegen und wollte jetzt wieder das backup einrichten.

                              allerdings bekomme ich das mounten nicht mehr hin:

                              mount.cifs //XXX/Homematic /mnt -o user=root,passwd=XXX
                              mount error(115): Operation now in progress
                              Refer to the mount.cifs(8) manual page (e.g. man mount.cifs)
                              
                              

                              An der Synology hat sich auch nichts geändert, einzig das neuinstallieren auf Jessie

                              Hat jemand eine idee?

                              1 Reply Last reply Reply Quote 0
                              • C
                                chka last edited by

                                habe es gefunden, wieso auch immer geht es nur mit dem netzwerkname

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

                                  Mal an die Nutzer gefragt: es sind ja zwei rsyncs da drin - einmal vor und einmal nach dem stoppen des iobroker.

                                  Welche files werden denn nach dem stoppen nachgesynct? Sollte doch nur maximal Objects-File und ( falls nicht Redis) das States-file und ggf History file, oder?!

                                  Ein iobroker "flush" Befehl der sicherstellt das alle Daten auf dem Datenträger aktuell sind um das Backup zu machen während er läuft.

                                  Ich kann mich immer noch nicht mit der "nachts mal abschalten um das Backup zu machen" Idee anfreunden 😉

                                  Ingo F

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

                                    Auf dem NUC läuft das Backup in 10s durch, beim Neustart schlafe ich, also stört es doch nicht. Und gebraucht habe ich es jetzt doch schön öfter. Da freut man sich, wenn das System in 2min wieder läuft.

                                    Keine Ahnung ob man ioBroker wirklich stoppen muss.

                                    Grüße Brati

                                    von unterwegs gesendet.

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

                                      Also ich hab mal genau geschaut … Die FIles die sich zwischen verschiedenen Zeitpunkten ändern sind:

                                      • Logfile (klar, für Backup aber eher unwichtig)

                                      • History-Files (auch klar ... da ist der Stop des iobroker - oder mind des Adapters - wichtig das keine Daten verloren gehen ... oder SQL/Influx)

                                      • iobroker/node_modules/iobroker.js-controller/pids.txt (wohl bei nem neustart eher unwichtig)

                                      • iobroker/iobroker-data/objects.json +.bak (wichtig, wird regelmäßig geschrieben auch ohne änderung)

                                      Am Ende ists als "Nur" das Objects-DB-File ... aber das ändert nachts keiner.

                                      Ich habe nichts gefunden was ewig offen bleibt ...

                                      Also: Gibts denn wirklich (aktuelle) Erfahrungen das ein "Stop" nötig ist weil sonst das Backup nicht tut wenn man es braucht?

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

                                        @Brati:

                                        Auf dem NUC läuft das Backup in 10s durch, beim Neustart schlafe ich, also stört es doch nicht. Und gebraucht habe ich es jetzt doch schön öfter. Da freut man sich, wenn das System in 2min wieder läuft.

                                        Keine Ahnung ob man ioBroker wirklich stoppen muss.

                                        Grüße Brati

                                        von unterwegs gesendet. `
                                        Ob man stoppen muss oder nicht… Es existieren folgende bedenken:

                                        • ich weiß es nicht, falls iob die Datei gerade schreibt, was passiert dann?

                                        • die States werden nur in 30 Sekunden Rhythmus gespeichert.

                                        • falls History aktiviert ist, da werden die Daten noch seltener gespeichert.

                                        Für Objekte gibt es natürlich bak Dateien und die werden automatisch aktiv, falls original nicht in Ordnung ist.

                                        Ich wurde mich freuen, falls jemand eingebaute Backup Funktion testet. Da existieren die Probleme mit schrEiben nicht.

                                        Und falls redis benutzt wird, man kann denn nicht einfach mit Dateikopieren sichern.

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

                                          Hi,

                                          meine Aussagen oben waren mit Nutzung von Redis. Daher waren die States raus. Mit Influx/SQL sind die History-Files relevant. Korrekt.

                                          Ansonsten hast Du recht - ein "gerade am schreiben" ist problematisch, ABER mit der .bak und der echten Datei (nd der Annahme ndas es Nachts keine Objects-Änderungen gibt) sollte das "gerade schreiben" maximal eins der beiden Files betreffen.

                                          Ich mache auch Sicherung mit "iobroker backup" …Habe gesehen das da alles in einer backup.json landet ... das ist natürlich ideal ... Wa sist denn da alles drin?

                                          Ich hatte nur hier und da wenn ich (selten) mal in Prozessliste geschaut habe "iobroker backup" prozesse hängen. Aber was da los war kann wohl keiner sagen 😞

                                          Setze gerade meinen neuen Cubie auf und will dann iobroker dahin "umziehen" (hat ne SSD).Dann versuche ich es mal per "backup" und "restore" und zusätzlich mach ich nen rsync vor dem restore (wegen der ganzen anderen files und so).

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

                                            @sissiwup:

                                            Hallo,

                                            hier meine aktuelle Lösung (naja gebranntes Kind):

                                            Mein NAS lauscht auf 192.168.1.91 und hat eine Freigabe myshare, da liegt ein Unterverzeichnis backup drin, wo sowieso schon alle hinsichern

                                            Es geht natürlich auch jede Windowsfreigabe, die erreichbar ist.

                                            im Verzeichnis /opt mit````
                                            nano backup.sh

                                            #!/bin/bash
                                            umount /mnt/myshare
                                            mount.cifs //192.168.1.91/myshare /mnt/myshare -o user=meinuseraufnas,passwd=meinpasswordaufnas
                                            rsync -aLvzh /opt/iobroker /mnt/myshare/backup/iobroker
                                            cd /opt/iobroker
                                            iobroker stop
                                            rsync -aLvzh /opt/iobroker /mnt/myshare/backup/iobroker
                                            cd /opt/iobroker
                                            iobroker start
                                            umount /mnt/myshare

                                            
                                            backup.sh ausführbar machen:
                                            

                                            chmod ugo+rx backup.sh

                                            
                                            Warum die Befehle:
                                            
                                            Der umount am Anfang, falls ich das mal per Hand gemeountet hatte um sauber zu sein
                                            
                                            Dann das mounten der Netzwerkfreigabe.
                                            
                                            Anschließend die erste Sicherung, wenn hier etwas schief geht, habt ihr den iobroker noch nicht runtergefahren.
                                            
                                            Der sichert alles, ausser Dateien, die gelockt sind.
                                            
                                            (Wichtig! Kein "/" hinter iobroker, sonst legt er das Unterverzeichnis nicht an.)
                                            
                                            Dann den iobroker stoppen
                                            
                                            Jetzt die Sicherung der restlichen paar Dateien, sollte rasend fix gehen (im Sekundenbereich)
                                            
                                            Anschließend Neustart des iobrokers
                                            
                                            und Aufräumen mit unmount
                                            
                                            im Verzeichnis /mnt das Unterverzeichnis myshare = /mnt/myshare anlegen
                                            
                                            Und das ganze wird automatisch um 4:00 (= 0 4) gestartet mit
                                            
                                            

                                            nano /etc/crontab

                                            /etc/crontab: system-wide crontab

                                            Unlike any other crontab you don't have to run the `crontab'

                                            command to install the new version when you edit this file

                                            and files in /etc/cron.d. These files also have username fields,

                                            that none of the other crontabs do.

                                            SHELL=/bin/sh
                                            PATH=/usr/local/sbin:/usr/local/bin:/sbin:/bin:/usr/sbin:/usr/bin

                                            m h dom mon dow user command

                                            17 * * * * root cd / && run-parts --report /etc/cron.hourly
                                            25 6 * * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.daily )
                                            47 6 * * 7 root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.weekly )
                                            52 6 1 * * root test -x /usr/sbin/anacron || ( cd / && run-parts --report /etc/cron.monthly )
                                            0 4 * * * root /opt/backup.sh >> /opt/backup.log

                                            ```` `

                                            Hi,

                                            ich stehe auch gerade vor der Entscheidung ein Backup zu machen.

                                            Deine Anleitung habe so gut wie möglich verstanden.

                                            Ich hätte eine Frage dazu:

                                            Wie kann ich denn auf einen Stick oder auf eine Fritzbox sichern.

                                            Kannst du mir das vielleicht erklären.

                                            Gruß totocotonio

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

                                            Support us

                                            ioBroker
                                            Community Adapters
                                            Donate
                                            FAQ Cloud / IOT
                                            HowTo: Node.js-Update
                                            HowTo: Backup/Restore
                                            Downloads
                                            BLOG

                                            723
                                            Online

                                            31.9k
                                            Users

                                            80.1k
                                            Topics

                                            1.3m
                                            Posts

                                            27
                                            71
                                            17458
                                            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