* 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.