[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: Wie rotate-Zyklus verlängern für mail.log?



Hallo,

Uwe Walter <lists@warp-factor.de> wrote:
> Henrik Heil schrieb:
>>> Meine syslog (etc.) rotiere ich täglich bei einem MB Größe,  und lasse 
>>> mir die, die gerade gelöscht werden soll per eMail senden.
>> 
>> Wenn ich es richtig verstehe, rotierst Du auch das syslog mit logrotate.
>
> Damit will ich nur erreichen, dass die Logs bei einem MB Größe rotiert 
> werden.
>
> ,----[Auszug /etc/logrotate.conf]--
>| /var/log/syslog /var/log/kern.log /var/log/messages {
>|     missingok
>|     size 1M
>|     rotate 1
>|     create 0640 root adm
>|     compress
>|     mail root@warp-factor.de
>|     postrotate
>|         /etc/init.d/sysklogd restart
>|         /etc/init.d/klogd restart
>|     endscript
>| }
> `----

Das sollte aber Dein komplettes Log‐System aus dem Tritt bringen. Da
nicht täglich sysklogd /restart/ aufgerufen wird, werden unter schreibt
syslog weiterhin in Logdateien, die von logrotate weggeschoben wurden.
Beispiel: logrotate schiebt admin.log weg, aber fässt syslog kern.log und
messages nicht an. syslog hält weiterhin den offenen Filedesciptor auf
die alte Datei admin.log. Da kein restart kommt, wird die Datei auch
nicht neu geöffnet, sondern in die alte, nicht mehr über das Dateisystem
erreichbare Datei weitergeschrieben. Wenn dann syslog irgendwann mal den
Filedesciptor schließt, sind die Meldungen weg.

Deswegen muss der Eintrag mit restart auch der letzte sein, den logrotate
anfasst. Sonst wird nämlich neu geöffnet und dann rotiert.

Schöne Grüße, Jörg.
-- 
$ cat /dev/random
#!/usr/bin/perl -WT
print "hello world\n";


Reply to: