Logrotate Apache2
Stefan Link
- webserver
0 Tom
Hallo zusammen,
seit 2-3 Tageb bleibt mein Apache2 jede nacht nach dem Logrotate hängen und wirft die folgende Meldung:
(98)Address already in use: make_sock: could not bind to address 0.0.0.0:443
no listening sockets available, shutting down
Unable to open logs
error: error running shared postrotate script for /var/log/apache2/*log
Wenn ich mich am nächsten Morgen frisch einlogge und manuell neu starte, tut alles problemlos. Hier was mein Root-Cron macht:
MAILTO=root
30 5 * * * /usr/sbin/logrotate /etc/logrotate.conf
Das logrotate apache2.conf konkret macht:
/var/log/apache2/*log {
daily
missingok
rotate 4
compress
notifempty
create 644 root root
sharedscripts
postrotate
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
fi
endscript
}
Rufe ich das per lofrotate -f /etc/logrotate.d/apache2.conf auf, geht das ebenso problemlos.
Die Rechte auf den Verzeichnissen habe ich geprüft, der Apache läuft wie die meisten denke ich unter www-data und hat *eigentlich* alle Rechte.
Hat jemand einen Tipp für mich, was ich hier übersehe?
Herzlichen Dank und einen schönen Ostermontag!
Stefan
Hello,
if [ -f /var/run/apache2.pid ]; then
/etc/init.d/apache2 restart > /dev/null
haben wir hier gerade die letzten Tage diskutiert.
Hier wird er nach dem logrotate neu gestartet, damit die gelöschten Logs neu erzeugt werden.
Hast Du etwas am Apachen geändert?
Es könnte sein, wenn Du einen VirtHost hinzugefügt hast, dass das Verzeichnis für Error_log ode Custom_log nicht beschreibbar ist für den User des Apachen. Dann kann die Log-Datei nicht neu angelegt werden und er steigt aus.
Wenn Du ihn aber als root startest, legt der die Dateien mit roots Rechten an. Der Child-Prozess unter dem Namen des Apachen wird erst danach gestartet.
kontrolliere also die Konfiguration Deiner VirtHosts.
Um die Konfiguration zu checken, gibt es einen Aufrufparameter.
Harzliche Grüße vom Berg
http://www.annerschbarrich.de
Tom