NEWS
CSV aus ioBroker/NodeRed auf NAS speichern
-
Hallo,
ich bin jetzt nochmals Schritt für Schritt vorgegangen und habe NFS erst mal beiseite gelegt. Da auch Backup mit Backitup auf NAS nicht funktioniert hat (Notlösung war per FTP auf USB-Stick Fritzbox) habe ich nun dies zuerst in Angriff genommen.
NAS
- NFS Freigabe im NAS deaktiviert, den dafür angelegten User gelöscht
- Neuen User im NAS für "Windows" Freigabe angelegt, SMB1..SMB3 aktiviert
- Rechte für User auf Verzeichnis erteilt
ioBroker - Backitup
- sudo apt-get install cifs-utils
- Option NAS/kopieren aktiviert, NAS-Server Name, User Name+PW und Pfad auf NAS eingetragen [Option "Als root Benutzer mounten (sudo)=EIN" "SMB Typ=SMB 3.0"]
ioBroker - Vorbereitung zur Datei-Ablage auf NAS - hoffentlich bald auch von Node-Red
- Syntax von Backitup übernommen
- sudo mount -t cifs -o username=xxx,password=yyy //NASServer/Hausautomatisierung/ioBrokerNodeRed/ /home/iobroker/NAS
- danach cd /home/iobroker/NAS
- nano test.txt erstellt
Windows PC
- unter //NASServer/Hausautomatisierung/ioBrokerNodeRed/ ist test.txt vorhanden
Habe noch nicht herausgefunden, was die Parameter -t und -o bei der mount Anweisung bedeuten, funktioniert jedoch. Mit den Rechten unter Linux komme ich auch noch nicht wirklich klar. Zugriff auf ioBroker Konsole mittlerweile mit Putty, hier funktionieren die Sonderzeichen sicher und Copy/Paste ebenfalls möglich.
Auf Proxmox möchte ich wegen Snapshots und Backups nicht verzichten.
Nun die nächsten Schritte...
Danke und Gruß HomeSweetHome
-
@homesweethome sagte in CSV aus ioBroker/NodeRed auf NAS speichern:
Habe noch nicht herausgefunden, was die Parameter -t und -o bei der mount Anweisung bedeuten
-
Vielleicht habt ihr noch für Node Red eine schnelle Hilfe. Ich dachte ich könnte für Test-Zwecke einfach einen Inject-Node mit einem File-Node verbinden um zu testen ob die Datei erzeugt wird.
Im File-Node unter Dateiname "/home/iobroker/NAS/test.csv" eingetragen. Aktiviere ich nun den Inject Node, so erscheint im Debug-FensterFehler beim Schreiben in Datei: Error: EACCES: permission denied, open '/home/iobroker/NAS/test.csv'
Hat Node Red kein Zugriff auf dieses Verzeichnis?
Danke und Gruß homeSweethome
-
@homesweethome sagte in CSV aus ioBroker/NodeRed auf NAS speichern:
Hat Node Red kein Zugriff auf dieses Verzeichnis?
Wie sehen den die Rechte dort aus. Und läuft node-red ggf. als eigener Prozess (mit eigenem user)?
-
da sind sie wieder. Die fehlenden Grundkenntnisse. Node Red ist als Adapter in ioBroker installiert mit "Basis Einstellungen". Daher ist mir unklar wie ich hier die Rechte prüfen bzw. einstellen kann.
Danke und Gruß homeSweethome
-
Ich hab node-red nicht im Einsatz. Vielleicht fällt @mickym was dazu ein.
-
@homesweethome Node-Red läuft wie jeder Adapter unter dem User iobroker. Deswegen war ja mein Gedanke das im Homebverzeichnis des iobrokers zu machen. Ich meine sowas kann man doch einfach prüfen in dem man einfach eine Datei unter /home/iobroker erzeugen lässt. Wenn das geht und im NAS verzeichnis nicht, dann ist es definitiv ein Rechteproblem.
-
danke für die Rückmeldung. Zwischen ioBroker oder dem Linux/Debian auf dem er läuft und dem NAS funktioniert es ja nun. Habe Test-weise eine Datei mit dem Editor Nano unter /home/iobroker/NAS erstellt und diese ist auf dem NAS unter //NASServer/Hausautomatisierung/ioBrokerNodeRed/ sichtbar und von einem Windows PC aus erreichbar. Alles Gut (hier) nun mit CIFS und "Windows SMB Freigabe" auf dem NAS.
Nun ist das Problem: Zugriff von Node-Red (installiert als Adapter in ioBroker). Wie oben erwähnt kein Zugriff vom File-Node auf /home/iobroker/NAS. Ich vermute Node-Red läuft hier wieder gekapselt unter ioBroker und darf nicht auf das Verzeichnis zugreifen.
Danke und Gruß homeSweethome
-
@homesweethome sagte in CSV aus ioBroker/NodeRed auf NAS speichern:
/home/iobroker/NAS
Und wie schaut es da aus?
ls -l /home/iobroker/NAS
-
@homesweethome Dann hat wie gesagt der user iobroker nicht genügend Rechte. Wie gesagt unter dem Adapter arbeitet der user "iobroker" und wie gesagt lasse eine Datein unter /home/iobroker mit NodeRed schreiben - das muss gehen, habe ich gerade bei mir auch gemacht.
Wenn NAS gemountet ist, dann hat es meines Erachtens immer root Rechte. Mach mal auf dem Zielsystem alle Rechte für Gäste etc. an. Und im Vorfeld muss der iobroker natürlich alle Rechte haben.
Ach so ja bei dem Mount fehlt glaub auch was, hast Du das in das in die /etc/fstab eingetragen? -
ls -l /home/iobroker/NAS insgesamt 8 -rwxr-xr-x 1 root root 4 29. Dez 09:42 test.txt
-
Als root rumgehampelt. Das geht natürlich.
-
xxx@ioBroker-PV:~$ ls -l /home/iobroker/NAS insgesamt 8 -rwxr-xr-x 1 root root 4 29. Dez 09:42 test.txt
-
@homesweethome
So hier mal meine fstab//WindowsPC/MWHome /home/iobroker/MWDesktop cifs vers=3.0,rw,noauto,users,credentials=/home/iobroker/.smbcredentials 0 0 NFSServer:/home/public /home/iobroker/NFS nfs rw,noauto,users 0 0
Das 1. ist cifs - also SMB
Das 2. ist nfsWichtig ist dass die mit rw gemountet werden, damit man Schreibzugriff hat. Wenn man die so einträgt in die fstab - dann kann man als normaler user mit
mount /home/iobroker/NFS oder mount /home/iobroker/MWDesktop
Allerdings geht das nur, wenn in der fstab users mit angegeben wurde.
Bei nfs habe ich kein PW.
In dem cifs als smbcredentials Datein musst Du dann halt username und passwort mitgeben, ich weiß nicht ob bei anderen cifs auch eine Domäne wichtig ist. So ca. schaut meine smbcredentials Datei aus.
username=WindowsUser password=password domain=WORKGROUP
-
Beim mounten fehlen da die Rechte. Mit
sudo mount -t cifs -o username=xxx,password=yyy //NASServer/Hausautomatisierung/ioBrokerNodeRed/ /home/iobroker/NAS
gehört der ganze Mountpunkt dem root. Da kann dann auch der iobroker nicht reinschreiben, auch wenn das in dessen home-Verzeichnis gemountet wird.
Versuch mal so zu mounten (Zuerst umounten...):
sudo umount /home/iobroker/NAS sudo mount -t cifs -o username=xxx,password=yyy,rw,file_mode=0777,dir_mode=0777 //NASServer/Hausautomatisierung/ioBrokerNodeRed/ /home/iobroker/NAS
-
Genial, da habe da doch nicht komplett von Backitup abgeschaut. Dort findet sich ebenfalls rw,file_mode=0777,dir_mode=0777,vers=3.0. Bringt vers=3.0 noch irgendwelche Vorteile?
Habe die zwei Zeilen
sudo umount /home/iobroker/NAS sudo mount -t cifs -o username=xxx,password=yyy,rw,file_mode=0777,dir_mode=0777 //NASServer/Hausautomatisierung/ioBrokerNodeRed/ /home/iobroker/NAS
ausgeführt. Danach - Ein Klick auf den Inject Node ... und die CSV Datei ist auf dem NAS sichtbar. War ziemlich mühsam. Aber dank eurer ausdauernden Hilfe erscheint nun die gewünschte Datei aus Node-Red. Obendrein funktioniert nun auch das Backup auf dem NAS mit Backitup.
Danke und Gruß homeSweethome
P.S. muss ich bzw. sollte ich noch mit den Rechten "root", "iobroker-PV" etc. aufräumen?
-
@homesweethome Version 3 ist meines Erachtens zwingend erforderlich, sonst wird mit SMB Version 1 gemounted und das wird von den meisten Zielsystemen nicht mehr unterstützt.
-
@homesweethome sagte in CSV aus ioBroker/NodeRed auf NAS speichern:
Bringt vers=3.0 noch irgendwelche Vorteile?
Das hängt davon ab, welcher 'Dialekt' vom SMB/CIFS-Server gesprochen wird. Eigentlich sollte ein halbwegs aktuelles System mittlerweile aber smb3 verstehen.
-
Hallo,
nach anfänglichen Problemen habe in Verbindung mit ioBroker/Nodered Daten auf einem QNAP NAS erfolgreich geloggt. Die Daten werden per TXT/CSV abgelegt. Für jeden Tag wird eine neue Datei angelegt. Läuft seit 04.01. bzw. lief stabil- keine Lücken oder Abbrüche.
habe das NAS ausgetauscht, von QNAP nach Synology. Habe den Share auf auf dem NAS eingerichtet, sowie User/PW. Im ioBroker mit
sudo umount /home/iobroker/NAS sudo mount -t cifs -o username=USR,password=PW,rw,file_mode=0777,dir_mode=0777,vers=3.0 //NASServer/Hausautomatisierung/ioBrokerNodeRed/ /home/iobroker/NAS
verbunden und hat auch daraufin funktioniert.
Nun kommt jeden Tage irgendwann? die Fehlermeldung
Cannot store file /home/iobroker/NAS/...: Error: EHOSTDOWN: host is down, mkdir '/home/iobroker/NAS/... [error] [file:8fb9740c.6f4dd] Fehler beim Erstellen der Datei: Error: EHOSTDOWN: host is down, mkdir '/home/iobroker/NAS
Nicht immer gleiches Verhalten. An 3 Tagen erfolgte um ~3:40 letzter Eintrag in der Datei. Danach nur noch Fehlermeldungen im LOG des ioBroker.
Zur "Aktivierung" gehe ich dann in die Console und ...
iobroker stop sudo umount /home/iobroker/NAS sudo mount -t cifs -o username=USR,password=PW etc. iobroker start
Danach läuft das Daten loggen wieder
Was könnte hier die Ursache für den Abbruch sein. Bei ioBroker/Nodered erfolgte keine Änderung. Fehlverhalten kam mit NAS Wechsel
Danke und Gruß homeSweethome
-
@homesweethome Ich kann Dir das nicht beantworten warum Deine Verbindung zum NAS sich immer in Luft auflöst, ich habe allerdings bereits anfangs geposteten Parallelthread gepostet, dass Du Dir mit dem entfernten Schreiben eine weitere Fehlerquelle einheimst.
https://forum.iobroker.net/topic/49120/datenpunkt-in-log-oder-csv-file-schreiben/33?_=1636461321746
Und damals habe ich Dir auch empfohlen, die Daten nur lokal auf Dein iobroker System zu schreiben und zyklisch auf das NAS zu kopieren. Damit hast Du dort zwar nicht immer die aktuellen Daten, aber es gibt auch keine Lücken, da Dir das lokale Dateisystem nicht wegbricht.
Warum Dir die gemounteten Verzeichnisse bei Deinem neuen NAS wegbrechen, da kann ich Dir nicht helfen.