Seite 1 von 1

logging bei mehrfacher Ausführung eines Skriptes

Verfasst: Mittwoch 26. Februar 2025, 08:55
von drnicolas
Ich habe ein Skript, dass aufgerufen wird sobald eine neue Datei in einem Verzeichnis abgelegt wird.

Das Skript selber macht ausgiebigst Gebrauch vom logging und schreibt in eine Datei.

Mittlerweile ist die Geschcihte ausgereift(er), d.h. das Skript wird u.U. mehrfach gelichzeitig ausgeführt, z.B. wenn man per Drag and Drop mehrere Dateien in das überwachte Verzeichnis kopiert.

In der Konsequenz mischen sich in der Log-Datei munter die Einträge verschiedener Instanzen.

Mein erster Ansatz wäre, nicht EINE generische Logdatei zu verwenden, sondern über die PID für jeden Aufruf eine separate Datei zu nutzen.
Dann würde allerdings vermutlich der logrotate-Prozess nicht mehr funktionieren und mir die Festplatte mit hunderten Log-Dateien zumüllen anstatt wie bisher maximal 3.

Gibt's für sowas einen allgemeinen Ansatz/Lösung?

Re: logging bei mehrfacher Ausführung eines Skriptes

Verfasst: Mittwoch 26. Februar 2025, 09:06
von noisefloor
Hallo,

also normalerweise würde man IMHO bei einer Logdatei bleiben und zusätzlich in den Log schreiben, wer die Logzeile loggt. Darüber kannst du dann später filtern, wenn du loggst auswerten willst. So macht z.B. das auch journald, das Logging von systemd. Da wird u.a. mitgeloggt, welche Unit den Logeintrag schreibt.

Gruß, noisefloor

Re: logging bei mehrfacher Ausführung eines Skriptes

Verfasst: Mittwoch 26. Februar 2025, 09:57
von DeaD_EyE
drnicolas hat geschrieben: Mittwoch 26. Februar 2025, 08:55 Gibt's für sowas einen allgemeinen Ansatz/Lösung?
  • Script in einen Daemon umwandeln. Dann schreibt der Daemon. Daemon == läuft im Hintergrund und wird nicht beendet.
  • oder nach /dev/log loggen