Logs werden nach Rotate nicht freigegeben

Apache, Lighttpd, nginx, Cherokee
hammerwd
Posts: 27
Joined: 2008-02-05 18:27

Logs werden nach Rotate nicht freigegeben

Post by hammerwd » 2009-02-27 09:49

Hallo,

Apache oder lieber Sonstiges? Bin mir nicht sicher, an wem es liegt.

Logrotate rotiert Dateien und soll alte löschen. Das scheint aber nicht zu funktionieren bzw. die Freigabe zum Löschen funktioniert nicht:

Code: Select all

lsof | grep /var/log/apache2
httpd2-pr 23014     wwwrun    9w      REG        3,2  30738136     340080 /var/log/apache2/domain.de-error_log-20090226 (deleted)

Der User wwwrun arbeitet noch an den Dateien, die es bereits nicht mehr gibt.

Code: Select all

apache:/var/log/apache2 # lsof | grep /var/log/apache2 | wc -l
720

Bei drei Vhosts erscheint mir das ein wenig viel ;) :(

Kann mir da jemand helfen?
In /var/log/messages finde ich keine Einträge die auf ein Problem hindeuten könnten.

Vielen Dank schon mal
Bye, Chris

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Logs werden nach Rotate nicht freigegeben

Post by oxygen » 2009-02-27 10:21

killall -HUP apache dann werden Filehandles neugeöffnet. Das sollte logrotate allerdings automatisch machen.

hammerwd
Posts: 27
Joined: 2008-02-05 18:27

Re: Logs werden nach Rotate nicht freigegeben

Post by hammerwd » 2009-02-27 10:34

Hmm ..

Code: Select all

apache:/var/log # killall -HUP apache
apache: no process killed


Stimmt da irgendwas anderes nicht?

hammerwd
Posts: 27
Joined: 2008-02-05 18:27

Re: Logs werden nach Rotate nicht freigegeben

Post by hammerwd » 2009-02-27 10:43

Ja, habe das Kommando als root ausgeführt.

Hier meine logrotate eines VHosts:

Code: Select all

/var/log/apache2/mittelhessen.de-access_log {
    daily
    compress
    dateext
    maxage 365
    rotate 99
    size=+4096k
    notifempty
    missingok
    create 644 root root
    postrotate
     /etc/init.d/apache2 reload
    endscript
}


Sieht bis auf daily genauso aus.

hammerwd
Posts: 27
Joined: 2008-02-05 18:27

Re: Logs werden nach Rotate nicht freigegeben

Post by hammerwd » 2009-02-27 11:13

Stimmt ... ein restart löst die Abhängigkeiten auf.

uname -a:
Linux apache 2.6.16.54-0.2.3-default #1 Thu Nov 22 18:32:07 UTC 2007 i686 i686 i386 GNU/Linux
Apache/2.2.3

Ist ein SLES 10. .. glaube auch 2, in welcher Datei konnte man das nochmal nachsehen?

Ein Restart wäre akzeptabel, aber wirklich unschön - wie du schon sagtest.

hammerwd
Posts: 27
Joined: 2008-02-05 18:27

Re: Logs werden nach Rotate nicht freigegeben

Post by hammerwd » 2009-02-27 11:40

Dann nehme ich 10, gut :)

Hast du es auch bei diesem Workaround belassen?

oxygen
Posts: 2138
Joined: 2002-12-15 00:10
Location: Bergheim

Re: Logs werden nach Rotate nicht freigegeben

Post by oxygen » 2009-02-27 14:50

Bzgl dem killall -HUP apache. Ich hab nicht gesehen, dass es sich um ein SuSE handelt, da heißt das binary ja httpd2-prefork oder -worker.