Мы используем Apache 2.2.9 (Win32) с несколькими виртуальными хостами, настроенными на одном сервере. Каждый из них имеет свои собственные настройки ErrorLog и CustomLog в формате «logs / [имя домена] -error.log» и «logs / [имя домена] -access.log». К сожалению, сейчас они создают довольно большие файлы.
На IIS вы можете указать расписание логов, в котором они могут быть представлены в ежедневном формате «yymmdd.log». Есть ли что-то подобное, что я могу сделать здесь?
Это не должно быть ежедневным, еженедельным или ежемесячным. Я просто хотел бы разбить их, чтобы мы могли сохранить количество Х вместо всего, что оно когда-либо регистрировало. Быстрый Google, кажется, предлагает множество ответов, ориентированных на Linux, включая разделители журналов, сценарии и задания cron, что не слишком полезно для установки Windows.
Обновить
Благодаря радиусу я настроил свой httpd-vhosts.conf, чтобы использовать встроенную в Apache команду rotatelogs в следующем формате:
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 МБ. Я знаю, что это не каждый день, как просили, но это позволяет им иметь приемлемый размер, который подойдет. Я попытался повернуть через столько секунд, но, похоже, метка времени в названии файла не помещалась правильно (в частности, часы, минуты и секунды).
источник
/usr/bin/rotatelogs
, так как именно тамrotatelogs
находится. В противном случае Apache не сможет перезапуститься из-за ошибки.То, что вы хотите, называется ротацией журналов.
Google, кажется, перечисляет некоторые полезные ссылки об инструментах ротации журналов для Windows.
Это похоже на специфичное для Apache решение, может быть, оно поможет вам:
http://www.sprint.net.au/~terbut/usefulbox/apachelogrot.htm
источник
Документы здесь:
http://httpd.apache.org/docs/2.2/programs/rotatelogs.html
источник
Попробуй прямо с
источник