Używamy Apache 2.2.9 (Win32) z kilkoma wirtualnymi hostami skonfigurowanymi na jednym serwerze. Każde z nich ma własne ustawienia ErrorLog i CustomLog, które mają format „logs / [nazwa domeny] -error.log” i „logs / [nazwa domeny] -access.log”. Niestety obecnie tworzą one dość duże pliki.
W usługach IIS można określić harmonogram dziennika, który może umieścić je w codziennym formacie „yymmdd.log”. Czy mogę zrobić coś podobnego tutaj?
Nie musi to być codzienne, wystarczy tygodniowe lub miesięczne. Chciałbym je tylko rozbić, abyśmy mogli zachować X zamiast wszystkiego, co kiedykolwiek jest zalogowane. Szybkie Google wydaje się przynosić wiele zorientowanych na Linuksa odpowiedzi obejmujących dzielenie logów, skrypty i zadania CRON, co nie jest zbyt pomocne w przypadku instalacji Windows.
Aktualizacja
Dzięki radius poprawiłem mój httpd-vhosts.conf, aby użyć wbudowanej komendy rotatelogs Apache'a w następującym formacie:
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
Utworzą nowy plik dziennika, gdy bieżący osiągnie 5 MB. Wiem, że nie jest to codzienne żądanie, ale utrzymuje je w rozsądnym rozmiarze, który wystarczy. Próbowałem obracać po tylu sekundach, ale nie wydawało się, aby wstawiał znacznik czasu w nazwie pliku (konkretnie godziny, minuty i sekundy).