Hallo zusammen habe ein kleines Logrotationproblem.
Zum einen funktioniert mein configfile unter /etc/logrotation.d/ nur wenn ich es direkt ausführen lasse mit "logrotate -f configfile" zum anderen werden anschließend in das neue leere logfile keine daten mehr geschrieben. Erst wieder wenn ich den apache restarte.
Wäre super wenn mir jemand schnelle Hilfe leisten könnte.
Gruß
Andi
Logrotation problem
Re: Logrotation problem
/etc/logrotate.d/apache2 :
Vielleicht das 'reload' durch 'restart' ersetzen?
Auch sind hier Marker möglich, die Dir den Status beim Durchlauf anzeigen, zBsp (Die Kommandos möglicherweise auch mit vollem Pfad)
Code: Alles auswählen
...
postrotate
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
Auch sind hier Marker möglich, die Dir den Status beim Durchlauf anzeigen, zBsp
Code: Alles auswählen
...
postrotate
sleep 3
lsof | grep /var/log/apache >> /tmp/apache_pidof
pidof apache2 >> /tmp/apache_pidof
echo PID $(< /var/run/apache2.pid) >> apache_pidof
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
echo RELOADED >> /tmp/apache_pidof
fi
lsof | grep /var/log/apache >> /tmp/apache_pidof
echo __________ >> /tmp/apache_pidof
endscript
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Logrotation problem
Hallo nochmal,
ermal vielen Dank rendegast für deine schnelle Anwort. Restart möchte ich nicht schreiben, denn wenn der webserver warum auch immer nicht mehr startet hab ich ein Problem .
Was würde den die Marken anzeigen?
Vielleicht hab ich auch einen Fehler in der Conf?
ermal vielen Dank rendegast für deine schnelle Anwort. Restart möchte ich nicht schreiben, denn wenn der webserver warum auch immer nicht mehr startet hab ich ein Problem .
Was würde den die Marken anzeigen?
Vielleicht hab ich auch einen Fehler in der Conf?
Code: Alles auswählen
/home/www/logs/*.log {
daily
missingok
create
rotate 15
compress
notifempty
postrotate
endscript
}
Re: Logrotation problem
Also, bei meinem Apache steht folgendes:
Der Restart wird bei postrotate erledigt, wo bei dir gar nix steht...
Musst halt eventuell das obige passend gemacht für dich übernehmen.
Code: Alles auswählen
/var/log/apache2/*.log {
weekly
missingok
rotate 52
compress
delaycompress
notifempty
create 640 root adm
sharedscripts
postrotate
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
fi
endscript
}
Musst halt eventuell das obige passend gemacht für dich übernehmen.
Re: Logrotation problem
Was würde den die Marken anzeigen?
Code: Alles auswählen
...
postrotate
sleep 3 # Eine kleine Pause
lsof | grep /var/log/apache >> /tmp/apache_pidof
pidof apache2 >> /tmp/apache_pidof
echo PID $(< /var/run/apache2.pid) >> apache_pidof
if [ -f "`. /etc/apache2/envvars ; echo ${APACHE_PID_FILE:-/var/run/apache2.pid}`" ]; then
/etc/init.d/apache2 reload > /dev/null
echo RELOADED >> /tmp/apache_pidof
fi
lsof | grep /var/log/apache >> /tmp/apache_pidof
echo __________ >> /tmp/apache_pidof
endscript
würden hier nicht richtig helfen, da Du ja nicht in /var/log/apache2/ loggst(?),
aber wenn dort 'grep www/log' stünde, würde das erste keine Verbindung des apache zu seinen Logs anzeigen,
da diese Verbindung durch das logrotate beendet wäre -> keine Ausgabe.
(apache loggt selbst, nicht über syslogd, richtig?)
Diese Verbindung wird erst wieder durch den reload hergestellt -> Ausgabe: "apache ... /home/www/logs/...log"
Aber der reload ist in Deiner Datei nicht vorhanden, wie nepos sagt.
Die beiden Ausgaben der PID sollten zeigen, ob der reload nicht funktioniert, weil in der PID-Datei vielleicht eine falsche (zBsp veraltete) PID steht, die nicht zum gerade laufenden Prozeß paßt.
Da sowas den reload/restart über das init-Skript verhindern kann.
Once again: Aber der reload ist in Deiner Datei nicht vorhanden, wie nepos sagt.
mfg rendegast
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
-----------------------
Viel Eifer, viel Irrtum; weniger Eifer, weniger Irrtum; kein Eifer, kein Irrtum.
(Lin Yutang "Moment in Peking")
Re: Logrotation problem
Problem gelöst.
Das reload hats gebracht. Alles wunderbar!
DANKE!
Das reload hats gebracht. Alles wunderbar!
DANKE!