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).