Як мати щоденні журнали помилок та доступу до Apache (для Windows)?


10

У нас працює Apache 2.2.9 (Win32) з кількома віртуальними хостами, налаштованими на одному сервері. У кожного є свої власні помилки ErrorLog та CustomLog, які у форматі "logs / [ім'я домену] -error.log" та "logs / [ім'я домену] -access.log". На жаль, зараз вони створюють досить великі файли.

На IIS ви можете вказати графік журналу, який може помістити їх у щоденний формат "yymmdd.log". Чи можна щось подібне зробити тут?

Це також не повинно бути щоденним, щотижня або щомісяця. Я просто хотів би розбити їх, щоб ми могли зберегти суму X замість усього, що коли-небудь реєструється. Здається, що швидкий Google приніс багато відповідей, орієнтованих на Linux, включаючи розбивачі журналів, сценарії та завдання Cron, що не дуже корисно для установки Windows.

Оновлення

Завдяки радіусу я налаштував свій httpd-vhosts.conf, щоб використовувати вбудовану команду rotatelogs Apache у такому форматі:

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

Вони створять новий файл журналу, коли поточний файл досягне 5 МБ. Я знаю, що це не щодня, як вимагають, але це підтримує їх у керованому розмірі, який буде робити. Я намагався обертати через стільки секунд, але, схоже, не було правильно поставити штамп часу у назві файлу (зокрема годин, хвилин та секунд).

Відповіді:


11

Те, що ви шукаєте, - це програма rotatelogs, яка постачається з апачем http://httpd.apache.org/docs/2.2/programs/rotatelogs.html

Наприклад, щодня обертати свої журнали опівночі:

CustomLog "|bin/rotatelogs -f /var/log/apache2/logfile.%Y.%m.%d.log 86400" common

+1, не знав, що Apache має власне рішення.
Кароліс Т.

Для всіх, хто використовує Ubuntu, можливо, вам доведеться змінити шлях /usr/bin/rotatelogs, тому що саме там rotatelogsзнайдено. В іншому випадку Apache не вдасться перезапустити через помилку.
BadHorsie

0

Те, що ви хочете, називається обертанням журналу.

Google, схоже, перелічує деякі відкриті посилання про інструменти обертання журналу для Windows.

Це здається конкретним рішенням Apache, можливо, воно допоможе вам:

http://www.sprint.net.au/~terbut/usefulbox/apachelogrot.htm



0

Спробуйте прямо з

CustomLog "|C:/<chemin vers apache>/bin/rotatelogs.exe E:/<chemin vers les logs>/<monsite>/access-%Y_%m_%d.log 86400 60" combined

2
Будь ласка, додайте пояснення, що це робить.
kasperd
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.