Hallo Liste, ich habe folgendes Problem: Durch diesen Eintrag in /etc/logrotate.d/syslog werden die log-Dateien in /var/log beim Erreichen einer gewissen Größe rotiert: /var/log/messages /var/log/allmessages { compress dateext maxage 365 rotate 99 missingok notifempty size +4096k create 640 root root sharedscripts postrotate /etc/init.d/syslog reload endscript } Dieser Eintrag entspricht exakt der Standardvorgabe der SuSE 9.3-Installation! Nachdem rotiert wurde, sind die Dateien neu erstellt (ls -l /var/log/allmessages liefert eine Datei mit 0 Byte) und syslog läuft auch noch (/etc/init.d/syslog status liefert "running"). Das Problem ist: syslog schreibt nicht mehr in die rotierten log-Dateien! deren Größe bleibt bei 0 Byte. Erst wenn syslog das nächste Mal (z.B. nach einem YOU oder manuell per /etc/init.d/syslog restart) neugestartet wird, wird wieder in die rotierten Logdateien geschrieben. Hat jemand das selbe Problem oder eine Idee, was die Ursache sein könnte? Viele Grüße, Bernhard
Am Donnerstag, 20. Oktober 2005 08:35 schrieb Bernhard Schalk:
Hallo Liste, ich habe folgendes Problem: /var/log/messages /var/log/allmessages { /etc/init.d/syslog reload endscript } Hat jemand das selbe Problem oder eine Idee, was die Ursache sein könnte? Eine genaue Ahnung habe ich nicht, redoch kannst Du das reload durch restart ersetzten, das ist dann genau das gleiche. Ob es dann Einträge fehlen weis ich jetzt uach nicht.
Viele Grüße, Bernhard
Gruss Martin -- "What's the use of a good quotation if you can't change it?" -- The Doctor
Noch ein Nachtrag: Nach dem rotieren liefert # lsof | grep allmessages folgende Ausgabe: syslog-ng 18540 root 15w REG 3,71 6059256 2849 /var/log/allmessages-20051020 (deleted) Heißt das nun, das logrotate den postrotate-Befehl nicht ausführt? Hier nochmal mein Eintrag in /etc/logrotate/syslog: /var/log/messages /var/log/allmessages { compress dateext maxage 365 rotate 99 missingok notifempty size +4096k create 640 root root sharedscripts postrotate /etc/init.d/syslog reload endscript } So wie ich die man-pages verstehe, müsste das doch funktionieren. Oder liege ich falsch? Grüße, Bernhard
Hallo, On 20.10.2005 15:22, Bernhard Schalk wrote:
Noch ein Nachtrag:
Nach dem rotieren liefert # lsof | grep allmessages folgende Ausgabe: syslog-ng 18540 root 15w REG 3,71 6059256 2849 /var/log/allmessages-20051020 (deleted)
Heißt das nun, das logrotate den postrotate-Befehl nicht ausführt?
möglich. AAAber... u.U. musst Du den Dienst syslog-ng reloaden? Ich hab' das zwar nirgends installiert, aber schu' mal in Deinem /etc/rc.d/-Verzeichnis nach dem entsprechenden Dienst... Arno
Hier nochmal mein Eintrag in /etc/logrotate/syslog:
/var/log/messages /var/log/allmessages { compress dateext maxage 365 rotate 99 missingok notifempty size +4096k create 640 root root sharedscripts postrotate /etc/init.d/syslog reload endscript }
So wie ich die man-pages verstehe, müsste das doch funktionieren. Oder liege ich falsch?
Grüße, Bernhard
-- IT-Service Lehmann al@its-lehmann.de Arno Lehmann http://www.its-lehmann.de
Hallo Arno! Arno Lehmann wrote:
AAAber... u.U. musst Du den Dienst syslog-ng reloaden?
Genau das sollte der postrotate-Eintrag bewirken. Ein weiterer Test brachte mich mittlerweile zu dem Ergebnis, dass der postrotate-Befehl tatsächlich nicht aufgerufen wird: Der Eintrag in /etc/logrotate.d/syslog sieht nun so aus: /var/log/messages /var/log/allmessages { compress dateext maxage 365 rotate 99 missingok notifempty size +4096k create 640 root root sharedscripts postrotate touch /root/blubberbla.dat endscript } Die Datei /var/log/allmessages wurde rotiert, die Datei /root/blubberbla.dat gibt es aber nicht! Kann das bitte jemand auf seinem System bestätigen oder widerlegen. Danke, Bernhard
Hallo, ich habe weiter nach der Lösung gesucht - und wurde auch fündig: http://forums.fedoraforum.org/archive/index.php/t-22359.html logrotate braucht ein /tmp-Verzeichnis, in dem Dateien ausgeführt werden dürfen! Ich hatte /tmp "noexec" gemounted, und so ging kein postrotate-Skript. Nach einem remount mit "exec" läuft jetzt alles. Ist nur keine schöne Lösung, da ich damit jedem Benutzer erlaube, ausführbare Dateien zu erstellen. Genau um das zu verhindern, ist /tmp ja auf "noexec". Na, mal sehen. Auch dafür wird es eine Lösung geben. Ich schreibe, sobald ich was habe...
participants (3)
-
Arno Lehmann
-
Bernhard Schalk
-
Martin Heuser