* Nix-Konvention zum Speichern von Benutzerprotokollen?


10

Was ist ein herkömmlicher Protokollspeicherort für Prozesse, die im Auftrag von Benutzern ausgeführt werden?

  • ~/.foo/logs/ - meine erste Wahl, aber nicht super toll

  • /var/log/foo.uid/ - Nicht-Systembenutzer können hier keine Verzeichnisse erstellen, müssen erst zusammenarbeiten.

  • Eine gemeinsame Datei in /var/log/(zB /var/log/foo.log) - Nicht privat

  • etc.

Antworten:


5

Ich würde vorschlagen, mich für zu entscheiden /var/log/foo.uid/, da dies /var/log/meine erste Anlaufstelle bei der Suche nach Protokollen auf einem Server ist.

Eine andere Möglichkeit besteht darin, Ihre erste Wahl zu verwenden ~/.foo/logs/und einen Symlink dazu zu erstellen /var/log.


Ich meinte eigentlich Benutzer-ID, nicht PID (dh mehr als ein Benutzer führt möglicherweise gleichzeitig ein Programm aus und alle benötigen ihre eigenen Protokollspeicherorte).
s4y

Oh! Mein Fehler, es ist noch ein bisschen zu früh am Montagmorgen. Dann ist es sinnvoll, den uidBenutzernamen oder hinzuzufügen .
pkhamre

3

Während /var/logder kanonische Platz für Protokolle zu sehen, wie @pkhamre weist darauf hin, sehe ich nicht die Notwendigkeit , den Ordner mit „user“ -Generated Protokollen verschmutzen. Ich würde es vorziehen, nur systemweite Dienste anzumelden /var/log.

Das heißt, wenn die App eine GUI - Anwendung (läuft in X) ist, würde ich folgendes vorschlagen XDG Basisverzeichnis Spezifikation und die Protokolle in Drop $XDG_DATA_HOME/foo/log/mit $XDG_DATA_HOMEsäumigen zu $HOME/.local/share. Dies hat jedoch einen Nachteil. Sie müssen härter arbeiten, wenn Sie die Protokolle aus irgendeinem Grund aggregieren möchten - mit der vorherigen Lösung cat /var/log/foo.*/*wäre a ausreichend gewesen.


3

Da dies /var/logfür Benutzer nicht beschreibbar ist und Sie die Protokolle nicht in ihren jeweiligen Home-Verzeichnissen aufbewahren möchten, /var/tmp/foo.logs.uidwürde ich vorschlagen, dass diese Protokolle sowohl für Benutzer beschreibbar als auch zentralisiert sind.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.