Navigation

    Logo
    • Register
    • Login
    • Search
    • Recent
    • Tags
    • Unread
    • Categories
    • Unreplied
    • Popular
    • GitHub
    • Docu
    • Hilfe
    1. Home
    2. Deutsch
    3. ioBroker Allgemein
    4. [Anleitung][HowTo] Automatisiertes BackUp Mehr-Generationen auf NAS

    NEWS

    • ioBroker@Smart Living Forum Solingen, 14.06. - Agenda added

    • ioBroker goes Matter ... Matter Adapter in Stable

    • Monatsrückblick - April 2025

    [Anleitung][HowTo] Automatisiertes BackUp Mehr-Generationen auf NAS

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

      Ach so noch Vergessen 🙂 Das .tgz-File muss vorher nicht ausgepackt werden… (Seite 16 der Doku).

      1 Reply Last reply Reply Quote 0
      • L
        looxer01 last edited by

        ok, vielen Dank

        ich habe noch weitere Anpassungen vorgenommen.

        Damit sollte es das gewesen sein.

        vG Looxer

        1 Reply Last reply Reply Quote 0
        • T
          tesso last edited by

          Da ich mit Mount schon mehrfach schlechte Erfahrungen gemacht habe, nutze ich rSync um auf eine Synology zu sichern.

          Bei einer Fritzbox ist das anscheinend nicht möglich.

          1 Reply Last reply Reply Quote 0
          • P
            pix last edited by

            Hallo,

            sehr schöne Anleitung. Hab zwar kein NAS und mein System läuft auf OS X, aber das Redis Skript gefällt mir. Und natürlich das PDF selbst. Top!

            Das Redis-Skript holt sich die Uhrzeit vom Skriptstart, dann nicht mehr. Hab es etwas angepasst.

            ! ````
            /* Redis States speichern
            ! Skript speichert ioBroker States für den Fall eines Restores, damit Redis wieder arbeitet
            ! Output im Log:
            2017-06-13 11:41:35.548 - [33mwarn[39m: javascript.0 State "javascript.0.scriptEnabled.Test.test_owntrack" not found
            Dateileichen werden mit Warnmeldung ausgegeben
            ! von Looxer
            ! 13.06.2017 erstellt und angepasst (Pix)
            /
            ! var fs = require('fs'); // Modul, um externe Dateien zu schreiben
            ! var logdate;
            var logtime;
            var datei = "/BackUp/TARS/states";
            ! // Anpassung für Pix OS X ioBroker Server (kann unter LINUX entfernt werden)
            datei = "/Users/pix/Documents/iobroker/iobroker-data/redis_states";
            ! // Hauptfunktion für die Updates
            function main() {
            zeitHolen();
            var cacheSelectorState = $('state[state.id=javascript.0.
            ]'); cacheSelectorState.each(function (id, i) {
            var val = getState(id).val;
            var zk = "setState('"+id+"', "+val+");\n";
            if (typeof val === "string") zk = "setState('"+id+"', '"+val+"');\n";
            fs.appendFileSync(datei + logdate + "-"+ logtime + ".txt", zk);
            });
            log('States saved (for Redis)',"info");
            }
            ! // aktuelle Zeit holen
            function zeitHolen() {
            var now = new Date(); // store current date and time
            var year = now.getFullYear();
            var month = addZero(now.getMonth()+1).zero2;
            var day = addZero(now.getDate()).zero2;
            var Thour = addZero(now.getHours()).zero2;
            var Tmin = addZero(now.getMinutes()).zero2;
            var Tsec = addZero(now.getSeconds()).zero2;

            logdate = day + '.' + month + '.' + year;
            logtime = Thour + ':' + Tmin + ':' + Tsec;    
            

            }

            ! // Funktion zur Erzeugung von 2 oder 3 führenden Nullen für das Datum Format
            function addZero(i) {
            if (i < 10) j = "00" + i; i = "0" + i;
            if (i > 9 && i < 100) j = "0" + i;
            return {
            'zero2' : i,
            'zero3' : j
            };
            }
            ! // Startet zeitgesteuert
            schedule("50 23 * * *", main);
            ! // Startet 500ms verzögert nach Skriptstart
            setTimeout(main, 500);
            ! ````

            Ach ja, das Skript sichert nur States der Instanz javascript.0. Da kann man auch noch ran.

            Gruß

            Pix

            EDIT: Besserer Code im nächsten Post

            1 Reply Last reply Reply Quote 0
            • P
              pix last edited by pix

              So, hab mir das nochmal angesehen und das Skript jetzt für meine Bedürfnisse angepasst. Vielleicht braucht es jemand.

              Es erzeugt pro Instanz eine Datei von diesem Format (Name_Datum(amerikanisch)_Std_Min_Sek__Instanz.txt):
              redis_states_20170613_12_45_25__0.txt
              Welche Instanzen verwendet werden sollen kann man in der Variable instances festlegen.

              Noch lieber hätte ich das Datum vorn gehabt, aber das klappt mit dem fs-Befehl und dem Pfad nicht. Eine Textdatei ist bei meiner Installation ca. 60KB gross.

              Ausserdem habe ich die Zeitfunktion durch ein von mir häufiger verwendeten Code ersetzt. Die vorangehende Doppelnull für Hunderter brauch man ja hier nicht.

              /* Redis States speichern
              Skript speichert ioBroker States für den Fall eines Restores, damit Redis wieder arbeitet
              Output im Log:
              2017-06-13 11:41:35.548  - [33mwarn[39m: javascript.0 State "javascript.0.scriptEnabled.Test.test_owntrack" not found
              Dateileichen werden mit Warnmeldung ausgegeben
              von Looxer
              http://forum.iobroker.net/viewtopic.php?f=8&p=67560#p67560
              13.06.2017 erstellt und angepasst (Pix)
              */
              var pfad = "/Users/pix/Documents/iobroker/iobroker-data/redis_states_backup/redis_states";
              var instances = ['0','1','2']; // Instanzen des Javascript-Adapters
              // ab hier keine Anpassungen mehr nötig
              function schreibeStates(k) {
                  var fs = require('fs'); // Modul, um externe Dateien zu schreiben
                  log(instances[k]);
                  var cacheSelectorState = $('state[state.id=javascript.' + instances[k] + '.*]'); cacheSelectorState.each(function (id, i) {
                      var val = getState(id).val;
                      var zk = "setState('" + id + "', " + val + ");\n";
                      if (typeof val === "string") zk = "setState('" + id + "', '" + val + "');\n"; 
                          var datei = pfad + '_' + zeitHolen().logdate + "_" + zeitHolen().logtime + "__" + instances[k] + ".txt";
                          fs.appendFileSync(datei, zk);
                  });
                  log('Instance ' + instances[k] + ' States saved (for Redis)',"info");   
              }
              // Hauptfunktion für die Updates
              function main() {
                  for (var j = 0; j < instances.length; j++) schreibeStates(j);
              }
              // aktuelle Zeit holen
              function zeitHolen () {
                  jetzt = new Date();
                  var jahr       = jetzt.getFullYear();
                  var monat      = (jetzt.getMonth()+1 < 10) ? '0' + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
                  var tag        = (jetzt.getDate() < 10) ? '0' + jetzt.getDate() : jetzt.getDate();
                  var wochentag  = jetzt.getDay(); // startet am Sonntag mit 0
                  var stunde     = (jetzt.getHours() < 10) ? '0' + jetzt.getHours() : jetzt.getHours();
                  var minute     = (jetzt.getMinutes() < 10) ? '0' + jetzt.getMinutes() : jetzt.getMinutes();
                  var sekunde    = (jetzt.getSeconds() < 10) ? '0' + jetzt.getSeconds() : jetzt.getSeconds();
                  return {
                      'logdate' : jahr + monat + tag,
                      'logtime' : stunde + '_' + minute + '_' + sekunde
                  };
              }
              // Startet zeitgesteuert
              schedule("50 23 * * *", main);
              // Startet 500ms verzögert nach Skriptstart
              setTimeout(main, 500);
              

              Viele Grüße

              Pix

              1 Reply Last reply Reply Quote 0
              • T
                tesso last edited by

                Ich habe mal noch schnell das Skript BackUpOnRequest angepasst.

                Dort werden die States auf "Knopfdruck" auch erzeugt.

                ! ````
                createState('BackUp-Flag', false); // BackUp Flag
                var BackUpVar = "BackUp-Flag"; // BackupFlag
                ! var pfad = "/BackUp/TARS/redis_states";
                var instances = ['0','1','2']; // Instanzen des Javascript-Adapters
                ! // main
                // -----------------------------------------------------------------------------
                on( {id:BackUpVar, val: true }, function(obj) { // Event:
                ! if (getState(BackUpVar).val === true ) { setState(BackUpVar,false) ;
                log("EVENT Backup gestartet " ,"info");
                for (var j = 0; j < instances.length; j++) schreibeStates(j);
                BackUp();
                } // ende if BackUpFlag Check
                }); // ende on id

                function BackUp() {
                exec('/opt/backup.sh', function(err, stdout, stderr) {
                if (err) {
                log(err);
                return;
                }
                stdout = stdout.replace(/[\D]+/, ""); // alle Zeichen vor der ersten Ziffer entfernen
                stdout = stdout.split(/[\D]+/g); // alle nicht-Ziffern als Trennzeichen für das Array verwenden (im Block)
                log(stdout);
                // writeDp(stdout);
                });
                }

                ! function schreibeStates(k) {
                ! var fs = require('fs'); // Modul, um externe Dateien zu schreiben
                log(instances[k]);
                var cacheSelectorState = $('state[state.id=javascript.' + instances[k] + '.*]'); cacheSelectorState.each(function (id, i) {
                var val = getState(id).val;
                var zk = "setState('" + id + "', " + val + ");\n";
                if (typeof val === "string") zk = "setState('" + id + "', '" + val + "');\n";
                var datei = pfad + '' + zeitHolen().logdate + "" + zeitHolen().logtime + "__" + instances[k] + ".txt";
                fs.appendFileSync(datei, zk);
                });
                log('Instance ' + instances[k] + ' States saved (for Redis)',"info");
                }
                ! // aktuelle Zeit holen
                function zeitHolen () {
                jetzt = new Date();
                var jahr = jetzt.getFullYear();
                var monat = (jetzt.getMonth()+1 < 10) ? '0' + (jetzt.getMonth()+1) : jetzt.getMonth()+1;
                var tag = (jetzt.getDate() < 10) ? '0' + jetzt.getDate() : jetzt.getDate();
                var wochentag = jetzt.getDay(); // startet am Sonntag mit 0
                var stunde = (jetzt.getHours() < 10) ? '0' + jetzt.getHours() : jetzt.getHours();
                var minute = (jetzt.getMinutes() < 10) ? '0' + jetzt.getMinutes() : jetzt.getMinutes();
                var sekunde = (jetzt.getSeconds() < 10) ? '0' + jetzt.getSeconds() : jetzt.getSeconds();
                return {
                'logdate' : jahr + monat + tag,
                'logtime' : stunde + '' + minute + '' + sekunde
                };
                }
                // ---------------------------------------------------------------------------------------
                // Funktion zur Erzeugung von 2 oder 3 führenden Nullen für das Datum Format
                //-----------------------------------------------------------------------------------------------------
                function addZero(i) {
                if (i < 10) {
                j = "00" + i; i = "0" + i;
                }
                if (i > 9 && i < 100) {
                j = "0" + i;
                }
                return { 'zero2' : i,
                'zero3' : j
                };
                } // Ende Funktion

                1 Reply Last reply Reply Quote 0
                • P
                  pusemuckel last edited by

                  Sehr gute Dokumentation,

                  hast Du Dir mal http://www.nongnu.org/rdiff-backup/ angesehen ? Damit sichere ich meine Maschinen übers Netz auf das NAS und bietet hier vielleicht noch Ergänzungen zu Deiner Lösung.

                  Gruß

                  1 Reply Last reply Reply Quote 0
                  • L
                    looxer01 last edited by

                    @pusemuckel:

                    hast Du Dir mal http://www.nongnu.org/rdiff-backup/ angesehen ? Damit sichere ich meine Maschinen übers Netz auf das NAS und bietet hier vielleicht noch Ergänzungen zu Deiner Lösung.

                    Gruß `

                    Hi,

                    habs mir angesehen. Ich glaube nicht, dass das eine Ergaenzung zur Doku ist. Die Doku beschreibt wie mit Bordmitteln unter Linux ein automatisiertes Backup -adaptiv fuer Redis und My-SQL - gemacht werden kann.

                    Ich finde die Loesung aber interessant fuer iobroker. Scheint ja auch relativ einfach zu benutzen zu sein und vor allem kann es auch mit Windows und Mac OS genutzt werden.

                    Es laesst sich vielleicht einbinden in ioBroker und dann waere es die Grundlage fuer einen Adapter. Das muesste sich aber BF ansehen.

                    Edit:

                    damit das nicht untergeht werde ich die Idee ins Trello aufnehmen.

                    15.06.2017: done

                    vG Looxer

                    1 Reply Last reply Reply Quote 0
                    • Meistertr
                      Meistertr Developer last edited by

                      wenn ich jede zeile einzeln ins terminal kopiere klappt alles super, lasse ich das über das script laufen bekomme ich immer fehlermeldungen, dass der die ordner nicht finden kann. Jemand eine idee wieso?

                      #!/bin/bash
                      
                      cd /opt/iobroker
                      iobroker stop
                      # jetzt wird das iobroker Verzeichnis in das BackUp/iobroker Verzeichnis kopiert
                      rsync --delete -aLvzh -P /opt/iobroker /BackUp/
                      
                      # die n�chsten Zeilen aktivieren wenn mysql genutzt wird und gesichert werden soll
                      #cd /BackUp
                      #/usr/bin/mysqldump --user=root --password=DasPasswort --events --all-databases > mysql_databases.sql
                      
                      cd /opt/iobroker
                      iobroker start
                      
                      # Erzeugen des Archivs in komprimierter Form
                      tar -czf /BackUp/TARS/iobroker-20$(date +%y%m%d-%H%M%S).tgz /BackUp/iobroker
                      
                      # die n�chse Zeile aktivieren, wenn mySQL genutzt wird und gesichert werden soll
                      #/bin/tar -czf /BackUp/TARS/mysql-20$(date +%y%m%d-%H%M%S).tgz /BackUp/mysql_databases.sql
                      
                      1 Reply Last reply Reply Quote 0
                      • T
                        TM8 last edited by

                        Hallo Meistertr,

                        versuch mal folgendes, dann kommt auch der Hinweis nicht mit "/" führende Slash entfernen nicht mehr beim ausführen.

                        #!/bin/bash
                        cd /opt/iobroker
                        iobroker stop
                        # jetzt wird das iobroker Verzeichnis in das BackUp/iobroker Verzeichnis kopiert
                        rsync --delete -aLvzh -P /opt/iobroker /BackUp/
                        # die nächsten Zeilen aktivieren wenn mysql genutzt wird und gesichert werden soll
                        #cd /BackUp
                        #/usr/bin/mysqldump --user=root --password=DasPasswort --events --all-databases > mysql_databases.sql
                        cd /opt/iobroker
                        iobroker start
                        #  zurück in den root Ordner
                        cd /
                        # Erzeugen des Archivs in komprimierter Form
                        tar -czf BackUp/TARS/iobroker-20$(date +%y%m%d-%H%M%S).tgz BackUp/iobroker
                        # die nächse Zeile aktivieren, wenn mySQL genutzt wird und gesichert werden soll
                        #/bin/tar -czf BackUp/TARS/mysql-20$(date +%y%m%d-%H%M%S).tgz BackUp/mysql_databases.sql
                        # Das Script sollte als cronjob als "root" per "nano /etc/crontab" eingeplant werden
                        #10 4 * * * root /opt/backup
                        

                        Wichtig ist auch für nich so erfahrene Anwender wie mich (habe mich Stunden mit dem Problem rumgeschlagen).

                        In der Anleitung steht Befehl "crontabe -e" richtig ist "crontab -e", damit man crontab überhaupt öffnen kann. Dann habe ich Stunden lang damit verbracht, das der crontab aber nicht ausgeführt wurde. Ich habe alles als root gemacht.

                        Nach langem probieren und Google habe ich dann für mich die Lösung gefunden.

                        Nicht in crontab eintragen sonder mit "nano /etc/crontab" als root, dann dann z.B. für 4 Uhr 10 morgens "10 4 * * * root /opt/backup"

                        Wichtig ist auch noch, ich habe immer wieder bei der Fehlersuche gelesen, das es Probleme geben kann mit .sh Dateiendung, deshalb habe ich das File nicht als "backup.sh" abgespeichert im Ordner "/opt" sonder als "backup" ohne Endung.

                        Bei mir wird das Backup dann noch auf eine Synology NAS geschoben.

                        Hoffe das hilft dir weiter.

                        1 Reply Last reply Reply Quote 0
                        • Meistertr
                          Meistertr Developer last edited by

                          @TM8:

                          Hallo Meistertr,

                          versuch mal folgendes, dann kommt auch der Hinweis nicht mit "/" führende Slash entfernen nicht mehr beim ausführen.

                          #!/bin/bash
                          cd /opt/iobroker
                          iobroker stop
                          # jetzt wird das iobroker Verzeichnis in das BackUp/iobroker Verzeichnis kopiert
                          rsync --delete -aLvzh -P /opt/iobroker /BackUp/
                          # die nächsten Zeilen aktivieren wenn mysql genutzt wird und gesichert werden soll
                          #cd /BackUp
                          #/usr/bin/mysqldump --user=root --password=DasPasswort --events --all-databases > mysql_databases.sql
                          cd /opt/iobroker
                          iobroker start
                          #  zurück in den root Ordner
                          cd /
                          # Erzeugen des Archivs in komprimierter Form
                          tar -czf BackUp/TARS/iobroker-20$(date +%y%m%d-%H%M%S).tgz BackUp/iobroker
                          # die nächse Zeile aktivieren, wenn mySQL genutzt wird und gesichert werden soll
                          #/bin/tar -czf BackUp/TARS/mysql-20$(date +%y%m%d-%H%M%S).tgz BackUp/mysql_databases.sql
                          # Das Script sollte als cronjob als "root" per "nano /etc/crontab" eingeplant werden
                          #10 4 * * * root /opt/backup
                          

                          Wichtig ist auch für nich so erfahrene Anwender wie mich (habe mich Stunden mit dem Problem rumgeschlagen).

                          In der Anleitung steht Befehl "crontabe -e" richtig ist "crontab -e", damit man crontab überhaupt öffnen kann. Dann habe ich Stunden lang damit verbracht, das der crontab aber nicht ausgeführt wurde. Ich habe alles als root gemacht.

                          Nach langem probieren und Google habe ich dann für mich die Lösung gefunden.

                          Nicht in crontab eintragen sonder mit "nano /etc/crontab" als root, dann dann z.B. für 4 Uhr 10 morgens "10 4 * * * root /opt/backup"

                          Wichtig ist auch noch, ich habe immer wieder bei der Fehlersuche gelesen, das es Probleme geben kann mit .sh Dateiendung, deshalb habe ich das File nicht als "backup.sh" abgespeichert im Ordner "/opt" sonder als "backup" ohne Endung.

                          Bei mir wird das Backup dann noch auf eine Synology NAS geschoben.

                          Hoffe das hilft dir weiter. `

                          ich bekomme immer:

                          `total size is 729.95M  speedup is 92.37
                          : No such file or directory /opt/iobroker
                          Commands:
                          iobroker setup [--objects <host>] [--states <host>] [cust[/code]</host></host>`
                          
                          und :
                          `~~[code]~~: No such file or directory: /
                          tar: BackUp/iobroker\r: Cannot stat: No such file or directory
                          tar (child): BackUp/TARS/iobroker-20170821-060741.tgz: Cannot open: No such file or directory
                          tar (child): Error is not recoverable: exiting now
                          tar: Child returned status 2
                          tar: Error is not recoverable: exiting now
                          [/code]`
                          
                          habe schon alles versucht auch neu geschrieben um fehler in der formatierung endgegen zu wirken
                          
                          1 Reply Last reply Reply Quote 0
                          • L
                            looxer01 last edited by

                            @TM8:

                            n der Anleitung steht Befehl "crontabe -e" richtig ist "crontab -e", `
                            sorry, das ist ein blöder Tippfehler. Werde ich am WE korrigieren.

                            @MeisterTr:

                            habe schon alles versucht auch neu geschrieben um fehler in der formatierung entgegen zu wirken `

                            mal eine blöde Frage: mit welchem Editor arbeitest du ?

                            Ich nutze grundsätzlich notepad++. Da gibt es nie Probleme mit UTF8. Ansonsten kann es zu unschönen Nebeneffekten wegen versteckter Sonderzeichen kommen. Ist jetzt das Einzige was ich mir im Moment vorstellen kann was ein Problem sein könnte.

                            vG Looxer

                            1 Reply Last reply Reply Quote 0
                            • T
                              TM8 last edited by

                              Looxer, vielen Dank für deine Mühe, die Anleitung ist super. Durch den Fehler habe ich wieder viel gelernt, das ist immer das gute wenn man auf Fehlersuche gehen muss.

                              1 Reply Last reply Reply Quote 0
                              • Meistertr
                                Meistertr Developer last edited by

                                Es war bei mir in der Tat ein Formatierungsproblem, die bash scripte laufen nun, jetzt wollte ich es in iobroker integrieren, leider ist in dem js code ein Fehler, die Zeile function Backup ist auskommentiert. Das Hat zur folge, dass exec bei jedem start des scriptes aufgerufen wird. Folge: iobroker in bootloop / Sd card wird so lange mit Backupversuchen bombadiert, bis Sd Karte voll einzige möglichkeit die ich hatte ein Backup einspielen. ironie des Schicksaals, dass nach Backupversuch ein Backup gebraucht wird 🙂

                                1 Reply Last reply Reply Quote 0
                                • L
                                  looxer01 last edited by

                                  Hi MeisterTR,

                                  @Meistertr:

                                  leider ist in dem js code ein Fehler, die Zeile function Backup ist auskommentiert. `

                                  das tut mir echt leid. :oops: Aber eigentlich haette es einen Fehler geben muessen, da ja das Ende der Funktion nicht auskommentiert war.

                                  Kommt davon, wenn man noch im Code rumfummelt nach dem übertragen in Word….

                                  Ich habe jetzt beide Fehler (auch den crontab Fehler) korrigiert und die letzte Version 0.5 hochgeladen

                                  vG Looxer

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

                                    Hallo,

                                    Ich wollte hier mal kurz meine Erfahrungen mit der Backupanleitung und den entstandenen Probleme erörtern.

                                    Ich habe, wie in der Anleitung alle Scripts erstellt (habe jedes einzelne Script getestet und es hatte funktioniert) und per Cron eingebunden. Dann ist mir aufgefallen das ein Backup erstellt wurde aber die tar Dateien nicht auf die Fritzbox (NAS) kopiert worden war. Erst habe ich gedacht es liegt daran das vielleicht das Shellscript für das kopieren zum NAS nicht vom Cronjob ausgeführt wird. So habe ich dann alle Shellscripte zusammen in eines gepackt, ausprobiert alles hat beim testen funktioniert.

                                    Am nächsten Tag wieder das Problem … wo sind die Backupdateien auf der Fritzbox … wieder nicht da.

                                    Jetzt habe ich mich mehr mit der Fritzbox beschäftigt und rausgefunden die Dateien sind schon auf dem NAS der Fritzbox wurden mir aber nicht angezeigt. Nachdem ich in der Weboberfläche von der Fritzbox auf aktualisieren, ein Verzeichnis zurück und wieder ins Verzeichnis dahin gewechselt bin da waren die Backupdateien da. Wahrscheinlich war das das Problem und nicht wie von mir zuerst vermutet ein nicht ausgeführter Cronjob

                                    Vielleicht hilft diese Erörterung falls jemand so ein gleiches Problem mit der Fritzbox hat. Gruß Andy

                                    1 Reply Last reply Reply Quote 0
                                    • L
                                      looxer01 last edited by

                                      Hi Andy,

                                      @Andy:

                                      ein Verzeichnis zurück und wieder ins Verzeichnis dahin gewechselt bin da waren die Backupdateien da. `

                                      ich habe mir die NAS als Laufwerk in Windows eingebunden.

                                      Damit braucht es dann keine Fritzbox-Anmeldung um die Dateien zu checken.

                                      Da Windows bei Aenderungen aktualisiert gibts auch keine Irritationen.

                                      vG Looxer

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

                                        Hi,

                                        ja das ist eine gute Idee, werde ich mal ausprobieren. Ist für mich ja einfach einzubinden da ich den gleichen Befehl aus den Shellscript nehmen kann da mein PC mit Linux arbeitet. Vielen Dank und vG Andy

                                        Gesendet von iPhone mit Tapatalk Pro

                                        1 Reply Last reply Reply Quote 0
                                        • S
                                          starfish last edited by

                                          seit dem Wechsel auf ein neues NAS habe ich das Problem, dass rsync -a den Owner nicht mehr ändern kann:

                                          rsync: chown "/mnt/fritz/TARS" failed: Permission denied (13)

                                          fürs Erste habe ich die betr. Zeile im backuUPtoUSB.sh wie folgt abgeändert:

                                          rsync –delete -aLvzhP --no-o --no-g /BackUp/TARS /mnt/fritz

                                          jetzt läuft das script ohne Fehler durch, aber wahrscheinlich funktioniert jetzt das restore nicht mehr richtig, da der Besitzer nicht mit archiviert wird.

                                          hatte jemand dasselbe Problem, bzw. wie könnte man das sauber lösen?

                                          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

                                          461
                                          Online

                                          31.7k
                                          Users

                                          79.8k
                                          Topics

                                          1.3m
                                          Posts

                                          10
                                          26
                                          12557
                                          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