Мне нужна альтернатива для ротации журналов на моем сервере, каждый раз, когда logrotate запускает apache, отключается примерно на 10-20 минут, я не уверен, правильно ли это, но мне это кажется неправильным.
Есть ли альтернатива для logrotate на apache? Что необычно долго вращать бревна?
Моя установка - Fedora Core 9, apache 2.2.14
Спасибо.
Мне нравится хронолог. Apache может направить вывод в cronolog, который хранит данные в журналах на основе любого используемого вами шаблона.
На моем сервере, где я использую эти две директивы в глобальной области видимости, запускается только одна копия cronolog, которая используется для записи журналов. Это создаст новый файл журнала для каждого года + месяца.
LogFormat "%v:%p %h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combinedvhost
CustomLog "|/usr/bin/cronolog /var/log/apache2/%Y%m.combined.allhosts.log" combinedvhost
Я бы посмотрел на параметры, переданные в logrotate.
По моему опыту, вам следует использовать copytruncate
(файлы журнала сначала копируются, а затем усекаются).
Это также устраняет необходимость перезапуска apache после завершения logrotate.
каждый раз, когда logrotate запускается, apache отключается на 10-20 минут, я не уверен, правильно ли это, но мне это кажется неправильным
Нет - похоже, ваша система сломана - я бы хотел исправить это, а не пробовать что-то еще - logrotate - очень полезный инструмент, используемый правильно.
Как выглядят ваши текущие скрипты logrotate?
С.
Если перезапустить Apache вручную, это тоже займет 10-20 минут?
Если ротация журналов занимает так много времени, похоже, что Apache где-то застревает, что тоже может произойти вручную, или logrotate сталкивается с проблемами диска при попытке переместить журналы.
Включена ли опция сжатия? Если да, что произойдет, когда вы его выключите?