DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Anbindung von FS20-Komponenten, ELV-Wetterstationen, EnOcean und DMX an HomeMatic

Moderator: Co-Administratoren

da-87
Beiträge: 11
Registriert: 01.03.2023, 21:54
System: CCU
Hat sich bedankt: 1 Mal

DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von da-87 » 21.10.2023, 14:07

Hallo zusammen,

ich versuche, Hardware-Fehlerquellen zu minimieren - und dazu gehört auch, lokalen Storage zu vermeiden. Daher möchte ich die Logs (für HighCharts) mit folgenden Parametern im RAM halten und dann auf ein CIFS-Laufwerk verschieben. Beispiel:

Code: Alles auswählen

DEVLOGFILE=/tmp/devlog.txt
DEVLOGSIZE=10000
DEVLOGMOVE=/usr/local/logs/cuxd/devlog
Die DEVLOGFILE wird auch soweit angelegt, jedoch scheitert das Verschieben:

Code: Alles auswählen

Oct 21 13:58:26 ccu daemon.warn cuxd[11563]: directory '/usr/local/logs/cuxd/devlog/' not found!
In /tmp/ sammeln sich folglich die Dateien wie "devlog.txt.0.20231021-1343".
Ein "touch /usr/local/logs/cuxd/devlog/test.txt" von der SSH-Shell heraus funktioniert aber reibungslos. Auch chmod -R 777 habe ich nochmal gesetzt, ohne Erfolg.
Meine Raspberrymatic hält ein OpenVPN ins Rechenzentrum, dort läuft u.a. ein Storage, den ich darüber auf /usr/local/logs/cuxd/devlog gemounted habe. Von der Shell aus klappt das ja auch alles...

Habt Ihr eine Idee, was ich falsch mache...? Vielen Dank!

Xel66
Beiträge: 14170
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 587 Mal
Danksagung erhalten: 1501 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von Xel66 » 21.10.2023, 14:49

Fehlende Rechte des ReGa-Benutzerkontext? Das würde mir als erstes einfallen. Auf der Konsole bist Du mit root unterwegs und logischerweise auch mit den entsprechenden Rechten. Das heißt aber noch lange nicht, dass der ReGa-Benutzer, in dessen Kontext die Scripte laufen, die gleichen Rechte hat. Grundsätzlich sollte er auf /usr/local schreiben können. Das heißt aber nicht zwangsweise, dass er auch auf unterlagerte Verzeichnisse eines anderen Anwenders (in dem CUxD) zugreifen darf. Also mal Rechte prüfen.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

da-87
Beiträge: 11
Registriert: 01.03.2023, 21:54
System: CCU
Hat sich bedankt: 1 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von da-87 » 21.10.2023, 15:05

Danke für die schnelle Antwort - sowas in der Art hatte ich auch im Verdacht, aber chmod -R 777 oder 7777 auf /usr/local/logs/ hat es nicht verändert.

Eben noch ein Test über ein Skript:

Code: Alles auswählen

string cmd="touch /usr/local/logs/cuxd/devlog/cuxtest.txt";
dom.GetObject("CUxD.CUX2801001:1.CMD_SETS").State(cmd);
dom.GetObject("CUxD.CUX2801001:1.PRESS_SHORT").State(1);
...und siehe da, die Datei konnte er anlegen. DEVLOGMOVE klappt dennoch weiterhin nicht "directory not found" wie oben beschrieben.

Aber jetzt wird es ganz merkwürdig, wenn ich direkt in dem Mount logge, und DEVLOGMOVE deaktiviere:

Code: Alles auswählen

DEVLOGFILE=/usr/local/logs/cuxd/devlog/devlog.txt
DEVLOGSIZE=10000
;DEVLOGMOVE=/usr/local/logs/cuxd/devlog
...dann legt er brav die devlog.txt dort hinein und loggt. Schreiben geht also, und "directory not found" taucht auch nicht mehr auf.

Es betrifft also anscheinend nur DEVLOGMOVE, was nicht in /usr/local/logs/cuxd/devlog reinkommt.
Ich würde aber schon gerne in /tmp loggen, und nur in den Mount moven, denn letzterer ist halt nur verfügbar, wenn Internet und VPN stehen.

Xel66
Beiträge: 14170
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 587 Mal
Danksagung erhalten: 1501 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von Xel66 » 21.10.2023, 16:54

Hmmm... Ich zitiere mal aus der Anleitung, die ich so verstehe, dass DEVLOGMOVE ein lokales Verzeichnis in der RAM-Disk sein soll und nur als Spool-Verzeichnis dient, um daraus periodisch das File in den endgültigen Pfad zu verschieben.
DEVLOGEXPORT=
• Dieser Parameter ist optional und definiert einen Kommandozeilenbefehl, der periodisch (alle 5 Minuten) nach dem Umbenennen des aktuellen Device-Logfiles in YYYYMMDD-HHMM.<name> aufgerufen wird. Zusätzlich wird der Kommandozeile
das unter DEVLOGMOVE= definierte Verzeichnis und der Name des aktuellen Device-Logfiles übergeben. Das unter DEVLOGMOVE= definierte Verzeichnis dient dabei als Spool-Verzeichnis (auf der RAM-Disk der CCU!) für den Export. Es muss auf dem gleichen Volume (RAM-Disk!) wie DEVLOGFILE= liegen!
Vielleicht geht gerade das mit einem gemounteten Pfad nicht.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

da-87
Beiträge: 11
Registriert: 01.03.2023, 21:54
System: CCU
Hat sich bedankt: 1 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von da-87 » 21.10.2023, 17:01

Darauf bin ich auch gestoßen, gehe aber davon aus, dass das nur in Kombination mit DEVLOGEXPORT gilt. Denn an anderer Stelle gibt es folgendes Beispiel in der Anleitung (Kapitel 8.1 in der Version vom 22.03.2020):

Code: Alles auswählen

DEVLOGFILE=/tmp/devlog.txt
DEVLOGSIZE=
DEVLOGMOVE=/media/sd-mmcblk0/cuxd/devlog

Xel66
Beiträge: 14170
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 587 Mal
Danksagung erhalten: 1501 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von Xel66 » 21.10.2023, 17:28

da-87 hat geschrieben:
21.10.2023, 17:01
(Kapitel 8.1 in der Version vom 22.03.2020):
Nun ja, das ist schon ein paar Tage älter. In den aktuellen Versionen wird auch explizit drauf hingewiesen, nicht auf USB oder SD zu loggen/speichern. In der Zwischenzeit hat sich einiges getan. So kann es durchaus auch am Unterbau oder der Funktion liegen, um genau das zu verhindern, dass jemand solchen Speicher als Ziel angibt. Einen Grund wird es haben, dass explizit auf die RAM-Disk hingewiesen. Aber da wäre uwe111 aussagekräftiger. Vielleicht meldet er sich ja noch.

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

da-87
Beiträge: 11
Registriert: 01.03.2023, 21:54
System: CCU
Hat sich bedankt: 1 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von da-87 » 21.10.2023, 18:20

Stimmt, da bin ich bei Google wohl auf eine ältere Anleitung abgebogen, sorry... Aber auch in der 2.11er-Version ist das Beispiel genauso enthalten.

Mein Ziel ist ja letzlich genau das, nämlich die vielen I/O-Vorgänge im RAM zu halten, und dann auf ein Remote-Laufwerk zu moven, für dessen Hardware-Gesundheit ein RZ-Betreiber sorgt. Den Spaß mit defekten SDs oder USB-Sticks habe ich nämlich auch schon oft genug erleben dürfen :-D

Ja, warten wir mal ab, ob Uwe uns erleuchten kann, das wäre natürlich klasse.

Benutzeravatar
uwe111
Beiträge: 4821
Registriert: 26.02.2011, 22:22
Hat sich bedankt: 3 Mal
Danksagung erhalten: 246 Mal
Kontaktdaten:

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von uwe111 » 21.10.2023, 19:12

da-87 hat geschrieben:
21.10.2023, 18:20
Ja, warten wir mal ab, ob Uwe uns erleuchten kann, das wäre natürlich klasse.
Bei DEVLOGMOVE sind verschiedene Volumes möglich. Das war die eigentliche Idee dahinter.
Ich schaue mir das an und melde mich zurück.

Viele Grüße

Uwe
Alle sagten: Das geht nicht. Dann kam einer, der wußte das nicht und hat's einfach gemacht.
SPENDEN :wink: Download: CUxD 2.11, SSH KeyDir

Xel66
Beiträge: 14170
Registriert: 08.05.2013, 23:33
System: Alternative CCU (auf Basis OCCU)
Wohnort: Nordwürttemberg
Hat sich bedankt: 587 Mal
Danksagung erhalten: 1501 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von Xel66 » 21.10.2023, 19:12

da-87 hat geschrieben:
21.10.2023, 18:20
Aber auch in der 2.11er-Version ist das Beispiel genauso enthalten.
Ja, aber unter der Überschrift "Beispielkonfiguration mit Ablage der Logfiles auf der CCU2 SD-Karte" Für Deinen Anwendungsfall ist wohl eher die Konfiguration auf Seite 157 oben relevant. Und eine Seite zuvor kannst Du auch den von mir oben zitierten Abschnitt finden.
da-87 hat geschrieben:
21.10.2023, 18:20
Ja, warten wir mal ab, ob Uwe uns erleuchten kann, das wäre natürlich klasse.
Ja, warten wir mal ab. EDIT: Ah, schon gemeldet. ;-)

Gruß Xel66
-------------------------------------------------------------------------------------------
524 Kanäle in 146 Geräten und 267 CUxD-Kanäle in 34 CUxD-Geräten:
343 Programme, 334 Systemvariablen und 183 Direktverknüpfungen,
RaspberryMatic Version: 3.65.11.20221005 + Testsystem: CCU2 2.61.7
-------------------------------------------------------------------------------------------
Einsteigerthread, Programmlogik-Thread, WebUI-Handbuch

da-87
Beiträge: 11
Registriert: 01.03.2023, 21:54
System: CCU
Hat sich bedankt: 1 Mal

Re: DEVLOGMOVE nach CIFS-Mount funktioniert nicht

Beitrag von da-87 » 21.10.2023, 19:47

Danke Euch beiden erstmal für die Teilnahme ;-) Wenn ich irgendwas testen oder an Logs etc. bereitstellen kann, jederzeit gerne.

Antworten

Zurück zu „CUxD“