rsyslog scheint nicht in die Protokolldatei zu schreiben, ohne Neustart nach dem Berühren der Datei

rsyslog scheint nicht in die Protokolldatei zu schreiben, ohne Neustart nach dem Berühren der Datei

Ich habe eine separate Datei für die Protokollierungsfunktion local7, und diese Datei ist touched und Berechtigungengesetzt, von meinem Installer. Aber manchmal sehe ich, dass die Protokolle nicht dorthin geschrieben werden (nachdem ich eine Neuinstallation durchgeführt habe), bis ich es tue rsyslog restart!

Ist es zwingend erforderlich,Neustart rsyslogwenn die Protokolldatei touchvon einem anderen Programm/einer anderen Anwendung bearbeitet wird?

(Da das Installationsprogramm als ausgeführt wird root, wird der Zeitstempel der Protokolldatei aufgrund von geändert touch. Führt dies dazu, rsyslogdass nichts in die Protokolldatei geschrieben wird?)

Antwort1

rsyslogd hat jede Protokolldatei kontinuierlich zum Schreiben geöffnet und weiß nicht, dass Sie die Datei herausgezogen haben. Die Datei, die Ihr Installationsprogramm entfernt hat, befindet sich noch immer in einem nicht verknüpften Zustand auf der Festplatte und wird noch immer beschrieben. Sie können rsyslogd anweisen, alle Protokolldateien erneut zu öffnen, killall -HUP rsyslogdanstatt einen vollständigen Neustart durchzuführen.

Antwort2

Aus offensichtlichen Gründen ist rsyslog ein streng konzipiertes Programm, das seiner Konfiguration folgt. Es ist eindeutig. Wenn es möglich wäre, das zu tun, was Sie tun möchten, würde dies eine riesige Sicherheitslücke verursachen.

verwandte Informationen