Maillog stoppt nach logrotate
-
- Posts: 28
- Joined: 2006-03-21 16:21
Maillog stoppt nach logrotate
Hallo,
mein Maillog füllt sich nicht mehr. Und das jedesmal nachdem es planmäßig zusammengepackt wurde. Wenn ich danach syslog und postfix neu starte, läuft es wieder, aber halt nur bis zum nächsten zipen und Neuanfang.
Was läuft denn da wohl falsch?
mein Maillog füllt sich nicht mehr. Und das jedesmal nachdem es planmäßig zusammengepackt wurde. Wenn ich danach syslog und postfix neu starte, läuft es wieder, aber halt nur bis zum nächsten zipen und Neuanfang.
Was läuft denn da wohl falsch?
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Maillog stoppt nach logrotate
Syslog hat noch ein Filehandle auf die alte Datei offen, die du mit logrotate löschst. Schicke nach der Logrotation einfach ein SIGHUP an deinen syslogd, damit er einen neuen Filedescriptor öffnet. Dafür eignet sich die Option postrotate.
-
- Posts: 28
- Joined: 2006-03-21 16:21
Re: Maillog stoppt nach logrotate
Macht das eigentlich so Sinn? Die Einstellung war so vorgegeben.
Speziell das reload?
Speziell das reload?
Code: Select all
/var/log/mail /var/log/mail.info /var/log/mail.warn /var/log/mail.err {
compress
dateext
maxage 365
rotate 99
missingok
notifempty
size +4096k
create 640 root root
sharedscripts
postrotate
/etc/init.d/syslog reload
endscript
}
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Maillog stoppt nach logrotate
Etwas viel für meinen Geschmack, aber anonsten sieht die Konfiguration ok aus. /etc/init.d/syslog sollte natürlich auch das richtige Initskript sein.OhGott wrote:Code: Select all
rotate 99
-
- Posts: 28
- Joined: 2006-03-21 16:21
Re: Maillog stoppt nach logrotate
/etc/init.d/syslog ist schon richtig.
Aber das sind so die Einstellungen, die vorgegeben waren und mit denen das ursprüngliche Problem "Maillog füllt sich nicht mehr" auftritt.
Ich habe dort jetzt mal das reload durch restart ersetzt. Mal sehen ob das hilft. Oder wie genau war das mit SIGHUP gemeint? Den Befehl fand ich nicht.
Aber das sind so die Einstellungen, die vorgegeben waren und mit denen das ursprüngliche Problem "Maillog füllt sich nicht mehr" auftritt.
Ich habe dort jetzt mal das reload durch restart ersetzt. Mal sehen ob das hilft. Oder wie genau war das mit SIGHUP gemeint? Den Befehl fand ich nicht.
-
- Posts: 5923
- Joined: 2004-05-23 12:53
Re: Maillog stoppt nach logrotate
Der Paramtere reload sollte eigentlich schon dazu führen, dass das Initskript ein SIGHUP an syslog schickt. Du kannst auch selbst des Signal mit `killall -s HUP syslog` schicken.
-
- Posts: 28
- Joined: 2006-03-21 16:21
Re: Maillog stoppt nach logrotate
Nachdem mein Versuch mit
gescheitert ist, versuche ich mal folgendes
Sonst noch Ideen? ;-)
Code: Select all
postrotate
/etc/init.d/syslog stop
/etc/init.d/syslog start
endscript
Code: Select all
/var/log/mail /var/log/mail.info /var/log/mail.warn /var/log/mail.err {
compress
dateext
maxage 365
rotate 99
missingok
notifempty
size +4096k
create 640 root root
sharedscripts
postrotate
killall -s HUP syslog
/etc/init.d/syslog reload
endscript
}
Last edited by ohgott on 2006-10-11 14:14, edited 1 time in total.
-
- Administrator
- Posts: 2643
- Joined: 2004-01-21 17:44
Re: Maillog stoppt nach logrotate
Ja. Hast Du vielleicht /tmp mit noexec gemounted? Logrotate legt für postrotate offenbar dort ein Shellskript an, dass dann aber nicht ausgeführt werden kann... (siehe http://www.rootforum.org/forum/viewtopic.php?t=41643)OhGott wrote:Sonst noch Ideen?
-
- Posts: 28
- Joined: 2006-03-21 16:21
Re: Maillog stoppt nach logrotate
Aha, ja das scheint so zu sein!
Woher sieht man denn, das dort ein Script ausgeführt werden soll?
Aus den anderen Threads habe ich rausgelesen, das das verwenden eines anderen Verzeichnisses wohl nicht geht?
Was nun? Anders mounten? Anderseits wirds wohl seinen Sinn haben, das dort nichts ausgeführt werden kann, oder?
Code: Select all
/dev/tmp-loop on /tmp type ext3 (rw,noexec,nosuid,loop=/dev/loop0)
Aus den anderen Threads habe ich rausgelesen, das das verwenden eines anderen Verzeichnisses wohl nicht geht?
Was nun? Anders mounten? Anderseits wirds wohl seinen Sinn haben, das dort nichts ausgeführt werden kann, oder?
-
- Administrator
- Posts: 2643
- Joined: 2004-01-21 17:44
Re: Maillog stoppt nach logrotate
Es gibt (außer dem Verzicht auf logrotate) IMHO genau drei Lösungsmöglichkeiten:
- /tmp nicht mit noexec mounten (ist keine gute Idee - saftey first!)
- Dafür sorgen, dass im Kontext, in dem logrotate ausgeführt wird, die Variable TMPDIR auf ein Verzeichnis verweist, das auf einer Partition liegt, die nicht noexec gemounted ist, wie z. B.
Code: Select all
TMPDIR=/var/tmp
- Per cronjob /etc/init.d/syslog restart alle paar Minuten ausführen (was auch nicht gerade brilliant ist, da nach einem logrotate schlimmstenfalls für ein paar Minuten nichts gelogged wird)
-
- Posts: 28
- Joined: 2006-03-21 16:21
Re: Maillog stoppt nach logrotate
Bleibt eigentlich nur Möglichkeit 2.
.. and where TMPDIR gets set is a mystery.