Unter Debian Etch habe ich auf einer EC2 basierten virutellen Maschine die Apache2 Logs nach /mnt/ verlagert, weil die Logs beim Rebundlen des Images nicht included werden sollen und ich somit alle flüchtigen Dateien in einen /mnt Folder auslagere, den ich auch nicht über S3 persistent mache.
Dabei habe ich das Problem umgehen müssen, das Apache2 nach dem Logrotate weiterhin in die alten Logs schreibt und die neu angelegten Logs leer bleiben (0 Bytes). Abhilfe bringt das Ersetzen der ‘/etc/init.d/apache2 restart > /dev/null’ Anweisung in /etc/logrotate.d/apache2 durch apache2ctl:
/mnt/var/log/apache2/*.log { weekly missingok rotate 52 compress delaycompress notifempty create 640 root adm sharedscripts postrotate if [ -f /var/run/apache2.pid ]; then /usr/sbin/apache2ctl restart > /dev/null fi endscript }
Auf einer anderen Debian Etch Maschine (die jedoch nicht EC2 basiert ist) wo die Logs am original Ort liegen, gab es das Problem nicht. Beide Maschinen nutzen awstats. Einen grundlegenden Unterschied der Apache2 Config konnte ich auf die Schnelle nicht erkennen, so dass mir die Ursache für das Problem (warum schafft ‘/etc/init.d/apache2 restart’ es nicht was apache2ctl vermag – das Verwenden der neuen Logs anzustossen) nicht ersichtlich ist und ich mit diesem Workaround erstmal leben muss.
Im /etc/init.d/apache2 Script ist der apache2ctl Aufruf noch eingebetet in folgenden Block:
restart | force-reload) log_begin_msg "Forcing reload of web server (apache2)..." if ! apache_sync_stop; then log_end_msg 1 fi if $APACHE2CTL start; then log_end_msg 0 else log_end_msg 1 fi ;; *)
Die Funktion apache_sync_stop, die wiederum die apache_stop Funktion aufruft, wird wohl bei mir scheitern – aber was da genau schief… muss später mal ergründet werden.
Mich würde es interessieren, was da schiefläuft-und ich wäre froh, wenn du uns darüber auf dem Laufenden hälst, denn du hast doch so einige gute Gedanken, die mir so noch gar nicht gekommen sind diesbezüglich.
Hi Lars,
ich hatte genau das selbe Problem und dein Post hat es erstmal gelöst. Allerdings ist der Post ja schon ziemlich alt. Hast du das Problem immer noch oder ist das mit neuen Versionen behoben wurden?
Grüße
Daniel