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

StackOverflow https://stackoverflow.com/questions/44048

  •  09-06-2019
  •  | 
  •  

Вопрос

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

Это было полезно?

Решение

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

Другие советы

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

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-Path на соответствующий каталог, в который вы установили Apache.

логротат

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

Пользовательский журнал "|bin/rotatelogs /var/logs/logfile 5M" общий

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

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

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

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

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top