Apache2 schreibt nach Logrotate weiterhin in alte Logs

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.

2 comments Write a comment

  1. 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.

  2. 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