NEWS
fs.appendFileSync in Pi-Folder geht nicht mehr
-
Hallo,
ich bin nach langer Zeit nun endlich mal umgezogen von einem uralten Raspberry Pi (glaub sogar noch der B+) auf einen Raspberry Pi 5.
Hierfür habe ich alles neu aufgesetzt und für iobroker einfach das Backup von Backitup eingespielt und natürlich alle Versionen auf den aktuellsten Stand gebracht.
Alle meine Scripte funktionieren soweit, bis auf eines:
Ich logge jeden Tag einen Datenstand in eine Datei mit. Diese Datei möchte ich wiederum für jeden im Netzwerk zugreifbar machen.Hierfür habe ich ein folder "/home/pi/iobroker_share" angelegt (da ich mich auch von außen mit dem PI user einlogge) und das ganze mit CHMOD -R 777 versehen - ich weiß, dass das böse ist. Wenn es läuft nehme ich hier wieder was weg.
Allerdings läuft mein Javascript auch mit CHMOD 777 nicht, es tritt beim Befehlfs.appendFileSync('/home/pi/iobroker_share/testfile.csv', 'test');
immer folgender Fehler auf:
javascript.0 14:38:32.459 error script.js.Daily_logs_-_test: Error: EACCES: permission denied, open '/home/pi/iobroker_share/testfile.csv' javascript.0 14:38:32.460 error at script.js.Daily_logs_-_test:90:8 javascript.0 14:38:32.460 error at script.js.Daily_logs_-_test:109:3
Zur Erklärung: CHMOD 777 habe ich gesetzt, da das Script ja mit dem User iobroker läuft und auf ein Folder vom User Pi zugreift.
Lege ich den Ordner iobroker_share im iobroker user-Verzeichnis an, dann läuft das Skript ohne Probleme durch. (Also mit der Einbindung von FS passt alles)Ich habe auch schon
CHOWN iobroker:iobroker /home/pi/ipbroker_share
versucht, auch das hat keine Änderung gebracht.
Auf meinem alten PI habe ich das genau in der Konstellation irgendwie hinbekommen, allerdings ist das Jahre her und ich habe keine Ahnung mehr, wie ich das damals gemacht habe.
Mein gesamtes Testskript (stark verkürzt um den Fehler zu finden), welches nicht läuft sieht quasi so aus:
const fs = require('fs'); fs.appendFileSync('/home/pi/iobroker_share/testfile.csv', 'test');
ls -l /home/pi/iobroker_share/ spuckt folgendes aus:
total 8 -rwxrwxrwx 1 pi pi 6453 Jul 13 14:26 testfile.csv
Vielen Dank für jede Hilfe!
-
@sansibar sagte in fs.appendFileSync in Pi-Folder geht nicht mehr:
Lege ich den Ordner iobroker_share im iobroker user-Verzeichnis an, dann läuft das Skript ohne Probleme durch.
Dann mach es so und verbieg da nicht so grobschlächtig die Rechte.
-
@thomas-braun
Habe ich jetzt auch so gemacht und per crontab einen Kopierjob eingerichtet, der mir die Dateien dann ins richtige Verzeichnis und aufs NAS schiebt.Danke!