Управляем log файлами — logrotate


Использующим готовые хостинг панельки на своих серверах (plesk, cpanel и др.) думаю данный пост будет мало интересен, т.к. слежение за лог-файлами входит в функционал по-умолчанию.
А вот любителям поднять виртуальный хост в ручную, настроить сервера думаю стоит обратить внимание.
Настроив всё необходимое, лично я как то упустил из виду лог-файлы, которые довольно быстро начали «кушать» дисковое пространство на сервере.
Для правки ситуации я решил воспользоваться утилитой logrotate (штатная newsyslog не умеет работать по маске).

Инсталлируем из портов
cd /usr/ports/sysutils/logrotate/
make install clean

Далее работаем тут
cd /usr/local/etc/
создадим папку в которую будем кидать конфиги виртуальных хостов
md ./logrotate.d
создадим конфигурационный файл
logrotate.conf
с одной лишь строчкой
include /usr/local/etc/logrotate.d

всё — далее при создании хоста будем кидать сюда файлик с индивидуальными настройками для этого хоста (это может делать и скриптик по шаблону)

/..../domain.ru/logs/*.log { #работаем по маске, т.к. тут логи и апача, и нгникса и фтп и т.д.
nomail #не отправляем на почту содержимое логов
size 16M #обрабатывать лог файл только при достижении 16 мегабайт
missingok # при отсутствии лога не формировать ошибку
rotate 10 # храним последние 10 архивов
compress # сжимаем логи
notifempty # не обрабатываем пустые
create 640 arh wheel # создаем с такими правами
dateext # в названии архивного файла ставить дату архивации
noolddir
}

далее я создал сценарий с запуском самого logrotate и обновлением демонов работающих с лог-файлами и поместил его в крон с запуском 1 раз в сутки ночью.

всё

,

Один комментарий на «“Управляем log файлами — logrotate”»

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *