Wir führen Apache 2.2.9 (Win32) mit einigen virtuellen Hosts aus, die auf einem Server konfiguriert sind. Jedes hat seine eigenen ErrorLog- und CustomLog-Einstellungen im Format "logs / [Domänenname] -error.log" und "logs / [Domänenname] -access.log". Leider erstellen diese jetzt ziemlich große Dateien.
In IIS können Sie den Protokollzeitplan angeben, der sie in das tägliche Format "yymmdd.log" bringen kann. Kann ich hier etwas Ähnliches tun?
Es muss weder täglich noch wöchentlich oder monatlich sein. Ich möchte sie nur aufteilen, damit wir den X-Betrag behalten können, anstatt alles, was jemals protokolliert wurde. Ein schnelles Google scheint viele Linux-orientierte Antworten mit Protokollsplittern, Skripten und Cron-Jobs zu liefern, was für eine Windows-Installation nicht allzu hilfreich ist.
Aktualisieren
Dank des Radius habe ich meine httpd-vhosts.conf so angepasst , dass der in Apache integrierte Befehl rotatelogs im folgenden Format verwendet wird:
ErrorLog "|bin/rotatelogs logs/[domain name]-error.%Y-%m-%d-%H_%M_%S.log 5M"
CustomLog "|bin/rotatelogs logs/[domain name]-access.%Y-%m-%d-%H_%M_%S.log 5M" common
Sie erstellen eine neue Protokolldatei, wenn die aktuelle 5 MB erreicht. Ich weiß, dass das nicht täglich ist, wie gewünscht, aber das hält sie auf einer überschaubaren Größe, die ausreicht. Ich habe versucht, nach so vielen Sekunden zu drehen, aber es schien nicht, dass der Zeitstempel korrekt in den Dateinamen eingefügt wurde (insbesondere Stunden, Minuten und Sekunden).
quelle
/usr/bin/rotatelogs
, da sich dort der Pfadrotatelogs
befindet. Andernfalls kann Apache aufgrund eines Fehlers nicht neu gestartet werden.Was Sie wollen, heißt Protokollrotation.
Google scheint einige wichtige Links zu Protokollrotationstools für Windows aufzulisten.
Dies scheint eine Apache-spezifische Lösung zu sein, vielleicht hilft es Ihnen:
http://www.sprint.net.au/~terbut/usefulbox/apachelogrot.htm
quelle
Docs hier:
http://httpd.apache.org/docs/2.2/programs/rotatelogs.html
quelle
Versuchen Sie es direkt mit
quelle