Ich benutze logrotate, um Apache Access-, Error- und Rewrite-Logs zu rotieren. Meine Konfigurationsdatei sieht folgendermaßen aus:
/apache/*log {
compress
dateext
rotate 365
size=+300M
olddir /log/old/apache
notifempty
missingok
lastaction
/bin/apache reload
endscript
}
Mein Problem ist, dass Apache bei jeder Rotation neu geladen werden muss, da Apache nicht mehr in die gerade gedrehte Logdatei schreibt. Gibt es eine Möglichkeit, zu vermeiden, dass Apache jedes Mal neu geladen wird, wenn eine Rotation ausgeführt wird?
quelle
lastaction echo "" | /apache/*log endscript
das Dateihandle hinzufüge, ist es nicht "verloren"?logrotate
sagt doc: "Beachten Sie, dass es eine sehr kurze Zeitspanne zwischen dem Kopieren und dem Abschneiden der Datei gibt, sodass möglicherweise einige Protokolldaten verloren gehen."copytruncate
?Ich empfehle Ihnen, http://cronolog.org/ zu verwenden
So benutze ich es:
quelle