Лучший способ повернуть файлы журнала Apache

У меня есть сервер Apache, у которого есть один файл журнала доступа, который превышает 600 МБ. Это затрудняет поиск файла или его анализ.
Какое программное обеспечение или модули для Apache доступны, чтобы сделать ежедневную копию моего файла доступа, чтобы сделать его более управляемым?

Ответ 1

Вы посмотрели logrotate - это, вероятно, самый простой, наиболее широко доступный и хорошо понятый способ достижения этого. Он очень настраиваемый и, вероятно, сделает 90% того, что вам нужно.

Ответ 2

Я большой поклонник Cronolog. Просто установите и пропустите свои журналы через него. Для ежедневного вращения журналов что-то вроде этого будет работать:

ErrorLog  "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/error.log"
CustomLog "|/usr/bin/cronolog /path/to/logs/%Y-%m-%d/access.log" combined

Довольно удобно и после установки проще (по моему опыту), чем logrotate.

Ответ 3

Фактическая команда для Windows, которую сложно найти в Интернете, это:

CustomLog '|" "*Apache-Path/bin/rotatelogs.exe" 
    "**Apache-Path*/logs/backup/internet_access_%d-%m-%y.log" 86400' combined

Если бит "internet_access" - это имя, которое вы выберете для своих файлов, то 86400 - это количество секунд за один день. Вам необходимо изменить Apache-Path на соответствующий каталог, в который вы установили Apache.

Ответ 4

logrotate - лучшее решение. Используйте файл '/etc/logrotate.conf', чтобы изменить настройки для всех ваших журналов. Вы меняете "еженедельно" на "ежедневно", поэтому журналы меняются каждый день. Кроме того, вы можете добавить 'compress', чтобы архивы были сжаты. Если вы не заботитесь о старых журналах, вы можете установить поворот "повернуть 4" на что-то ниже.

Ответ 5

CustomLog "| bin/rotatelogs/var/logs/logfile 5M" общий

Эта конфигурация будет вращать файл журнала всякий раз, когда он достигает размера 5 мегабайт.

ErrorLog "|bin/rotatelogs /var/logs/errorlog.%Y-%m-%d-%H_%M_%S 5M" 

Это лучший способ перенаправить журналы Apache. Нет необходимости компилировать mod с httpd.

Ответ 6

rotatelog.exe или cronolog.exe на windows os. Они используются в команде pipe в http.conf Mod_log_rotate дополнительный модуль для apache ТОЛЬКО для вращения журнала доступа Logrotate ТОЛЬКО для unix os.

Ответ 7

У меня есть модуль, который делает это для вас без необходимости использования внешних труб и т.д.:

http://www.poptart.org/bin/view/Poptart/ModAutorotate

Я попытался добавить его в коллекцию модулей Apache, но, похоже, сейчас он был сломан.