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


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

7 59

7 ответов:

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

Я большой фанат 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.

фактическая команда для Windows, которую довольно трудно найти в интернете:

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

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

logrotate

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

CustomLog "|bin / rotatelogs /var / logs/logfile 5M " common

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

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

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

rotatelog.exe или cronolog.exe на ОС windows. Они используются в команде pipe в http.конф Mod_log_rotate дополнительный модуль для apache только для ротации журнала доступа Logrotate только для ОС unix.

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

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

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