Logdatei bei laufendem Webserver austauschen

Apache, Lighttpd, nginx, Cherokee
theomega
Userprojekt
Userprojekt
Posts: 696
Joined: 2003-01-27 14:36

Logdatei bei laufendem Webserver austauschen

Post by theomega » 2006-11-16 18:43

Hallo Leute,
ich muss auf zwei Webservern die Log-Dateien rotieren lassen. Das soll alle zwei Stunden geschehen (Hightraffic-Server). Das Problem ist: Webalizer muss vorher über die Dateien laufen.
Meine Vorgehensweise ware eigentlich:
1. Webalizer über die Logdatei laufen lassen
2. Logdatei löschen
3. Webserver neustarten.

Das ganze hat zwei Nachteile:
1. Die Daten die zwischen dem Start der Webalizer-Analyse und dem Webserver neustart geschrieben werden gehen alle verloren. Weil das analyisieren lange dauert ist das nicht zu unterschätzen
2. Der WEbserver muss neugestartet werden, was bei einem Apache mit angebundenem FastCGI ziemlich lange dauert und unakzeptable Downtimes mit sich bringt.

Die Frage ist jetzt: Gibt es bei Apache und Lighttpd eine Möglichkeit bei laufendem Webserver die Logdatei auszutauschen ohne Daten zu verlieren? Beim Apache konnte man mit kill ein bestimmtes Signal schicken, beim lighttpd ist mir nichts entsprechendes bekannt.

Wer hat mir einen Tipp?

Danke
TO

theomega
Userprojekt
Userprojekt
Posts: 696
Joined: 2003-01-27 14:36

Re: Logdatei bei laufendem Webserver austauschen

Post by theomega » 2006-11-16 18:49

Habe gerade gefunden das folgendes angeblich funktionieren soll:
SIGHUP bei lighttpd und
USR1 bei apache

muss ich aber erstmal testen, oder hat jemand einen anderen vorschlag?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Logdatei bei laufendem Webserver austauschen

Post by Joe User » 2006-11-16 19:54

Webserver reloaden -> Logfile kopieren -> Webalizer auf kopiertes Logfile ansetzen
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.

theomega
Userprojekt
Userprojekt
Posts: 696
Joined: 2003-01-27 14:36

Re: Logdatei bei laufendem Webserver austauschen

Post by theomega » 2006-11-16 19:57

So einfach gehts auch nicht. Eigentlich müsste doch die Reihenfolge sein:
1. Log-Datei umbennen (Webserver schreibt weiter in die Datei dank inodes)
2. Webserver neustarten (HUP o.ä.)
3. Webalizer über die umbenannte Datei laufen lassen.

Oder täusch ich mich jetzt?

User avatar
Joe User
Project Manager
Project Manager
Posts: 11138
Joined: 2003-02-27 01:00
Location: Hamburg

Re: Logdatei bei laufendem Webserver austauschen

Post by Joe User » 2006-11-16 20:01

OK, zum Rotieren/Reloaden würde ich logrotate nutzen und anschliessend webalizer mit passender Verzögerung (5-15 Minuten) per Cron laufen lassen.
PayPal.Me/JoeUserFreeBSD Remote Installation
Wings for LifeWings for Life World Run

„If there’s more than one possible outcome of a job or task, and one
of those outcomes will result in disaster or an undesirable consequence,
then somebody will do it that way.“ -- Edward Aloysius Murphy Jr.