АгАртИ-А
Разработка АгАртИ-А.рф
- ^ X
Ротация логов newsyslog
[ \ ] [ .. ]
agarty@apache22.com [/list/Rotaciya_logov_newsyslog/]> ls -la

Ротация логов newsyslog

Создано: 2016-11-10 12:14:04

Ротация логов newsyslog

Жил-был не тужил, и вот на тебе, логи апача разрослись как плесень в сыром подвале. Порядка 1.5 гигов.

Не порядок, подумалось, надо настроить ротацию логов. Ну что же, на ум пришла утилита newsyslog.

Открываем конфиг

#> ee /etc/newsyslog.conf

И вписываем туда строку:

/var/log/httpd-*.log 644 2 1000 @T00 GJ /var/run/httpd.pid 30

Сохраняемся. Теперь надо настроить автоматический запуск. Запускаем крон, и вписываем туда:

#> crontab -e
*/30 * * * * /usr/sbin/newsyslog

Теперь утилита будет запускаться каждые 30 минут.

Ну и на последок делаем первый запуск, что бы утилита обработала логи:

#>  /usr/sbin/newsyslog

Усе! У нас в логах тишина. Таким образом, кстати, можно любые логи настроить. Пару слов о содержании конфига:

logfilename – обязательный параметр, полный путь к файлу лога, который необходимо проверять;
owner:group – необязательный параметр, владелец/группа, которой принадлежит файл;
mode – права доступа к файлу;
count – сколько копий заархивированных файлов хранить;
size – предельный размер файла лога в килобайтах, после которого он будет заархивирован и создан новый, для указания “любой размер” – установите *;
when – время в часах, через которое файл будет заархивирован, даже если его размер не превысил заданный в size, что бы игнорировать опцию – установите *;
flags – флаги:

B – по умолчанию, newsyslog добавляет в новый лог-файл сообщение о том, что лог-файл был ротирован, но если лог-файл бинарный, то это сообщение испортит лог, с параметром B newsyslog не будет добавлять никаких сообщений в лог;
C – если лог-файл не существует, то его необходимо создать;
G – если указан данный флаг, то в названии лог-файла можно использовать стандартные шаблоны (например *);
J – сжимать лог-файл, используя bzip2;
N – не предупреждать никакой процесс, о ротации лог-файла;
W – если используются флаги Z или J, то newsyslog должен подождать, пока завершится процесс архивации;
Z – сжимать лог, используя gzip.

Собсна вот и все. Инфа касается FreeBSD, что касательно других ОС, то все тоже самое, кроме путей. Просто поменяйте их на свои.