NEWS
Backitup v1.8.5 0kB
-
Wenn ich mit "cp ./README.md /opt/iobroker/backups/" die im Ordner /opt/iobroker standardmäßig vorhandene Datei kopiere, landet sie in meinem Ordner auf dem NAS. Auch iobroker backup erzeugt das Backup in /opt/iobroker/backups. Ich habe an meinem Container auch nichts geändert. Was kann ich da prüfen, um herauszufinden, weshalb Backitup nach "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup" schreibt?
-
@ofbeqnpolkkl6mby5e13
Backitup schreibt dort nicht hin. Es wird der gleiche Prozess gestartet, wie über den Konsolenbefehl und wie du siehst, werden Daten nur im tmp Ordner gesammelt und dann erstellt.
Ich gehe bei dir von einem Rechteproblem auf deinem NAS aus. -
@simatec
Was für ein Rechteproblem?Nach /opt/iobroker/backups lässt sich einwandfrei schreiben. Am Container hat sich auch nichts geändert. Nach iobroker fix darf dann der Ordner "backup" in "/opt/iobroker/node_modules/iobroker.js-controller/tmp" erstellt werden und alles funktioniert wieder. Bis zur Installation des nächsten JS-Controllers wie mir scheint.
-
@ofbeqnpolkkl6mby5e13
Also doch ein Rechteproblem im tmp backup Ordner. iobroker fix setzt die Rechte richtig -
@simatec said in Backitup v1.8.5 0kB:
@ofbeqnpolkkl6mby5e13
Also doch ein Rechteproblem im tmp backup Ordner. iobroker fix setzt die Rechte richtig@simatec said in Backitup v1.8.5 0kB:
@ofbeqnpolkkl6mby5e13
Backitup schreibt dort nicht hin.Ich denke Backitup schreibt gar nicht nach "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup"?
-
@ofbeqnpolkkl6mby5e13
Backitup nutzt die Backup Methode aud dem js-Controller und der ist identisch zum Konsolenbefehl. Also auch hier wird ein tmp angelegt. -
@simatec
Okay, dann ist doch alles richtig. Stellt sich eben nur die Frage, weshalb nach einem Update des JS-Controllers die Berechtigung zum Erstellen des Ordners "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup" wieder weg ist. Ist ja leicht durch "iobroker fix" zu beheben, aber ich kann mich nicht erinnern, dass das vor JS-Controller 3.2.X so war. -
@ofbeqnpolkkl6mby5e13 said in Backitup v1.8.5 0kB:
@simatec
Okay, dann ist doch alles richtig. Stellt sich eben nur die Frage, weshalb nach einem Update des JS-Controllers die Berechtigung zum Erstellen des Ordners "/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup" wieder weg ist. Ist ja leicht durch "iobroker fix" zu beheben, aber ich kann mich nicht erinnern, dass das vor JS-Controller 3.2.X so war.Das könnte an der Art liegen, wie du den JS-Controller installiert hast. Ich habe den heute allerdings auf alle möglichen Arten installiert und keine Probleme feststellen können, der tmp Ordner hatte immer die Berechtigungen rwxr-xr-x iobroker iobroker, ich konnte es also nicht nachvollziehen
-
@fastfoot
Hmm. "npm i iobroker.js-controller@next"Der nächste JS-Controller kommt bestimmt. Ich bin gespannt!
drwxr-xr-x iobroker iobroker
Danke für deine Mühe!
-
@ofbeqnpolkkl6mby5e13 said in Backitup v1.8.5 0kB:
@fastfoot
Hmm. "npm i iobroker.js-controller@next"Der nächste JS-Controller kommt bestimmt. Ich bin gespannt!
drwxr-xr-x iobroker iobroker
Danke für deine Mühe!
Dann wäre es interessant zu wissen, wie dann der Ordner vor dem fix geflaggt ist. Ansonsten empfehle ich
iob update && iob upgrade self
anstatt über npm, das hatte aber bei meinen Tests, den Fehler zu provozieren, nichts gebracht -
@fastfoot said in Backitup v1.8.5 0kB:
Dann wäre es interessant zu wissen, wie dann der Ordner vor dem fix geflaggt ist.
Ich werde berichten!
-
Installation von JS-Controller 3.2.11, selber Fehler.
Vor Installation:
Gestartet... [DEBUG] [iobroker] - host.iobroker-d 12765 states saved [DEBUG] [iobroker] - host.iobroker-d 18332 objects saved [DEBUG] [iobroker] - Backup created: /opt/iobroker/backups/iobroker_2021_01_28-19_31_42_backupiobroker.tar.gz [DEBUG] [iobroker] - done [DEBUG] [clean] - done [DEBUG] [telegram] - done [DEBUG] [historyHTML] - new history html values created [DEBUG] [historyHTML] - done [DEBUG] [historyJSON] - new history json values created [DEBUG] [historyJSON] - done [EXIT] 0
# pwd /opt/iobroker/node_modules/iobroker.js-controller # ls -la drwxr-xr-x 2 iobroker iobroker 4096 Jan 28 19:31 tmp
Nach der Installation:
Gestartet... [DEBUG] [iobroker] - host.iobroker-d 12765 states saved [ERROR] [iobroker] - Uncaught Rejection: Error: EACCES: permission denied, mkdir '/opt/iobroker/node_modules/iobroker.js-controller/tmp/backup' at Object.mkdirSync (fs.js:841:3) at /opt/iobroker/node_modules/iobroker.js-controller/lib/setup/setupBackup.js:300:32 at processTicksAndRejections (internal/process/task_queues.js:97:5) [DEBUG] [iobroker] - done [DEBUG] [clean] - done [DEBUG] [telegram] - done [DEBUG] [historyHTML] - new history html values created [DEBUG] [historyHTML] - done [DEBUG] [historyJSON] - new history json values created [DEBUG] [historyJSON] - done [EXIT] 6
# pwd /opt/iobroker/node_modules/iobroker.js-controller # ls -la drwxr-xr-x 2 root root 4096 Jan 28 19:39 tmp
-
Ach so, es ist nur der "tmp"-Ordner, der danach auf root steht:
# ls -la insgesamt 512 drwxr-xr-x 6 iobroker iobroker 4096 Jan 28 19:40 . drwxrwxrwx 1172 iobroker iobroker 36864 Jan 28 19:39 .. -rw-r--r-- 1 iobroker iobroker 84725 Okt 26 1985 CHANGELOG.md -rw-r--r-- 1 iobroker iobroker 420 Okt 26 1985 compactgroupController.js drwxr-xr-x 2 iobroker iobroker 4096 Jan 28 19:38 conf -rw-r--r-- 1 iobroker iobroker 158 Okt 26 1985 controller.js -rw-r--r-- 1 iobroker iobroker 8341 Okt 26 1985 gulpfile.js -rw-r--r-- 1 iobroker iobroker 74 Okt 26 1985 iob -rwxr-xr-x 1 iobroker iobroker 33 Okt 26 1985 iobroker.js -rw-r--r-- 1 iobroker iobroker 5 Jan 28 19:40 iobroker.pid -rw-r--r-- 1 iobroker iobroker 59436 Okt 26 1985 io-package.json drwxr-xr-x 10 iobroker iobroker 4096 Jan 28 19:38 lib -rw-r--r-- 1 iobroker iobroker 1135 Okt 26 1985 LICENSE -rw-r--r-- 1 iobroker iobroker 207604 Okt 26 1985 main.js drwxr-xr-x 50 iobroker iobroker 4096 Jan 28 19:38 node_modules -rw-r--r-- 1 iobroker iobroker 6476 Jan 28 19:38 package.json -rw-rw-rw- 1 iobroker iobroker 156 Jan 28 19:42 pids.txt -rw-r--r-- 1 iobroker iobroker 45055 Okt 26 1985 README.md -rw-r--r-- 1 iobroker iobroker 5677 Okt 26 1985 reinstall.js drwxr-xr-x 2 root root 4096 Jan 28 19:39 tmp
-
Da sind ja ACLs gesetzt. Schau mit
gefacl /opt/iobroker/node_modules/iobroker.js-controller/tmp
nach den vollständigen Rechten.
Schreibrechte der Gruppe fehlen übrigens schon in deiner ersten Version.
-
# getfacl /opt/iobroker/node_modules/iobroker.js-controller/tmp getfacl: Entferne führende '/' von absoluten Pfadnamen # file: opt/iobroker/node_modules/iobroker.js-controller/tmp # owner: root # group: root user::rwx group::r-x other::r-x
-
@ofbeqnpolkkl6mby5e13
Okay...
Richtig sähe das so aus:pi@raspberrypi:/opt/iobroker/node_modules/iobroker.js-controller $ getfacl tmp/ # file: tmp/ # owner: iobroker # group: iobroker user::rwx group::r-x group:iobroker:rwx mask::rwx other::r-x default:user::rwx default:group::r-x default:group:iobroker:rwx default:mask::rwx default:other::r-x
-
Okay.
Ist schon komisch. Eigentlich ist es aber auch egal, denn nach iobroker fix geht es ja jedes Mal wieder. Und den JS-Controller aktualisiert man jetzt auch nicht alle Tage.
-
@fastfoot
Ohne mit weiteren Logs zu langweilen. Mit "iobroker upgrade self" tritt der Fehler nicht auf. Vielen Dank! -
@ofbeqnpolkkl6mby5e13 sagte in Backitup v1.8.5 0kB:
@fastfoot
Ohne mit weiteren Logs zu langweilen. Mit "iobroker upgrade self" tritt der Fehler nicht auf. Vielen Dank!gut zu lesen! Meine Vermutung war ja dass man im Falle der npm installation ja nicht der user iobroker ist und sich deshalb die Berechtigungen des tmp Ordners ändern. So einfach ist es aber wohl nicht, denn in meinen Tests hatte ich den Ordner auch vor der Installation gelöscht und dennoch war er richtig mit iobroker:iobroker geflaggt, auch bei einer npm Installation. Gerade weil unsere Setups durch Container auf QNAP sehr ähnlich sind, hatte mich das verwundert
-
@fastfoot
Ich verstehe auch nicht, weshalb ausschließlich der tmp-Ordner betroffen ist.Ganz vielen Dank für deine Hilfe und Beharrlichkeit!
Auch danke an @thomas-braun, der trotz seiner Container-Abneigung noch mal geholfen hat!