Hallo Harald,

Darf ich das kurz zusammenfassen, was Du tun möchtest, um Dir einen Vorschlag 
zu unterbreiten:

- Du rotierst keine Logs, der Logfilename bleibt immer gleich.
- Nach Auswertung der Logs willst Du das Logfile durch "> filename" entleeren.
- apache soll dann weiterloggen, aber die alten Einträge, die er noch im 
Speicher hat, verwerfen.

Ich hätte da zwei Möglichkeiten, eine schöne, eine dreckige:

a) Move and rotate
- bewege das offene File und nenne es um
- Das Filehandle bleibt dabei offen.
- schicke dem apache ein graceful, er sollte dann ein neues Logfile mit dem 
konfigurierten Namen anlegen.
- Werte das umbenannte Logfile aus und lösche es hinterher.

b) logrotate einsetzen
Du kannst mit der Software Cronolog als Dateinamen einen Pipehandler für das 
Logfileschreiben einsetzen. Dabei können im Dateinamen strftime() Parameter, 
die du von date her kennst verwendet werden. Du kannst auch dabei einen 
Symlink/hardlink anlegen lassen. Deine Auswertesoftware wertet also das Logfile 
aus und Cronolog rotiert das Log automatisch auf die nächste Version, je 
nachdem wie Du den Dateinamen wählst. Danach kannst Du das alte Logfile 
löschen, denn Deine Auswertungssoftware geht ja immer auf den symlink los.

Viele Grüße,

Martin Allert

--------------------------------------------------------------------------
                Apache HTTP Server Mailing List "users-de"
      unsubscribe-Anfragen an users-de-unsubscr...@httpd.apache.org
           sonstige Anfragen an users-de-h...@httpd.apache.org
--------------------------------------------------------------------------

Antwort per Email an