Nach Logrotate access_log leer

Apache, Lighttpd, nginx, Cherokee
jay-zi
Posts: 13
Joined: 2003-12-05 17:59
Location: HH

Nach Logrotate access_log leer

Post by jay-zi »

Moinsen aus Hamburch.

Beim regelmäßigen Check der Logdateien stieß ich eben auf ein Kuriosum. Das tägliche Logrotate erstellte nicht wie üblich eine gz-Version der access_log. Stattdessen habe ich nun eine "access_log-200607.14", die munter weiter gefüllt wird. Zusätzlich existiert jetzt eine access_log, die leer ist und bleibt. Erstellt wurde diese zum Zeitpunkt des üblichen Logrotate-Zeitpunkts. Ein

Code: Select all

grep -i cron /var/log/messages
ergab keine Auffälligkeiten gegenüber der sonst üblichen Prozedur. Hat jemand eine Idee, woran das liegen könnte?

Gruß
Jörg

P.S.: Bei der error_log ist das Problem das gleiche.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Nach Logrotate access_log leer

Post by Roger Wilco »

Du hast vergessen, nach dem Rotieren der Logs ein SIGHUP an den Apache httpd zu schicken, damit er eine neue Logdatei öffnet.
jay-zi
Posts: 13
Joined: 2003-12-05 17:59
Location: HH

Re: Nach Logrotate access_log leer

Post by jay-zi »

Ich hatte an den Konfigurationsdateien nichts geändert. Bisher lief auch immer alles völlig automatisch und ohne Probleme ab.

An welcher Stelle müsste ich denn jetzt ansetzen, damit die Logs wieder ordnungsgemäß rotieren?

Gruß
Jörg
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Nach Logrotate access_log leer

Post by Roger Wilco »

jay-zi wrote:An welcher Stelle müsste ich denn jetzt ansetzen, damit die Logs wieder ordnungsgemäß rotieren?
/etc/logrotate.conf und /etc/logrotate.d/*
jay-zi
Posts: 13
Joined: 2003-12-05 17:59
Location: HH

Re: Nach Logrotate access_log leer

Post by jay-zi »

Nun, diese Dateien hatte ich mir bereits angeschaut und keine Auffälligkeiten festgestellt. Wie gesagt, bisher gab es ja auch keine Probleme.

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

/var/log/apache2/error_log {
compress
dateext
maxage 365
rotate 99
size=+1024k
notifempty
missingok
create 644 root root
postrotate
/etc/init.d/apache2 reload
endscript
}

/var/log/apache2/suexec.log {
compress
dateext
maxage 365
rotate 99
size=+1024k
notifempty
missingok
create 644 root root
postrotate
/etc/init.d/apache2 reload
endscript
}

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

/var/log/apache2/ssl_engine_log {
compress
dateext
maxage 365
rotate 99
size=+1024k
notifempty
missingok
create 644 root root
postrotate
/etc/init.d/apache2 reload
endscript
}
/etc/logrotate.conf
# see "man logrotate" for details
# rotate log files weekly
weekly

# keep 4 weeks worth of backlogs
rotate 4

# create new (empty) log files after rotating old ones
create

# uncomment this if you want your log files compressed
compress

# uncomment these to switch compression to bzip2
#compresscmd /usr/bin/bzip2
#uncompresscmd /usr/bin/bunzip2

# RPM packages drop log rotation information into this directory
include /etc/logrotate.d

# no packages own wtmp -- we'll rotate them here
#/var/log/wtmp {
# monthly
# create 0664 root utmp
# rotate 1
#}

# system-specific logs may be also be configured here.
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Nach Logrotate access_log leer

Post by Roger Wilco »

Was passiert, wenn du ` /etc/init.d/apache2 reload` ausführst? Steht etwas in deinem Error Log?
jay-zi
Posts: 13
Joined: 2003-12-05 17:59
Location: HH

Re: Nach Logrotate access_log leer

Post by jay-zi »

Syntax error on line 6 of /etc/apache2/default-server.conf:
DocumentRoot must be a directory

The command line was:
/usr/sbin/httpd2-prefork -f /etc/apache2/httpd.conf -DSSL
In Zeile 6 steht tatsächlich nicht der korrekte Pfad. Eigentlich dürfte die default-server.conf aber gar nicht relevant sein, da es sich um ein Confixx-System handelt. Stattdessen ist doch die confixx_vhost.conf zuständig?!
Roger Wilco
Posts: 5923
Joined: 2004-05-23 12:53

Re: Nach Logrotate access_log leer

Post by Roger Wilco »

jay-zi wrote:In Zeile 6 steht tatsächlich nicht der korrekte Pfad. Eigentlich dürfte die default-server.conf aber gar nicht relevant sein, da es sich um ein Confixx-System handelt. Stattdessen ist doch die confixx_vhost.conf zuständig?!
Nein. Bring deine Apache-Konfiguration in Ordnung, dann funktioniert auch die Logrotation wieder.
jay-zi
Posts: 13
Joined: 2003-12-05 17:59
Location: HH

Re: Nach Logrotate access_log leer

Post by jay-zi »

Das ist leichter gesagt als getan. Wo könnte denn Deiner Meinung nach das Problem sein? Inzwischen habe ich den Server mal neugestartet. Nun läuft der Apache2 gar nicht mehr, sodass unsere Webseiten nicht mehr erreichbar sind. Die Fehlermeldung hat sich nicht geändert. Der Hinweis auf die Zeile 6 ist wirklich nicht hilfreich.
jay-zi
Posts: 13
Joined: 2003-12-05 17:59
Location: HH

Re: Nach Logrotate access_log leer

Post by jay-zi »

Die Zeile 6 in /etc/apache2/default-server.conf habe ich jetzt unkommentiert:
#DocumentRoot "/srv/www/htdocs"
Das reichte, um den Apache2 wieder starten zu können. Es ist trotzdem merkwürdig, denn bisher konnte ich ihn auch mit dieser Zeile ohne Probleme neustarten.

Als Nebeneffekt der Aktion füllen sich die access_log und die error_log nun wieder mit Daten, sodass ich davon ausgehe, dass Logrotate beim nächsten Aufruf wieder ordnungsgemäß läuft.

Roger, danke für Deine Denkanstöße und ein schönes Wochenende.

Gruß
Jörg