пример файла настроек (etc/logrotate.conf).
"/www/logs/access.log"
{
rotate 10 # кол-во хранимых сжатых фрагментов
size=16M # максимальный размер несжатого файла; пока размер текущего
# файла журнала не превысит данный порог, файл не будет "ротирован"
missingok # отсутствие файла не является ошибкой
nocopytruncate # не сбрасывать файл журнала после копирования
nocreate # не создавать пустой журнал
nodelaycompress # не откладывать сжатие файла на следующий цикл
nomail # не отправлять содержимое удаляемых (старых) журналов по почте
notifempty # не обрабатывать пустые файлы
noolddir # держать все файлы в одном и том же каталоге
compress # сжимать
postrotate
/usr/bin/killall -HUP httpd
endscript # Между postrotate и endscript расположены команды
# интерпретатора sh(1), исполняемые непосредственно после ротации.
# В данном примере сюда помещена команда kill, перезапускающая
# httpd-сервер. Это необходимо для нормальной процедуры
}
"/www/logs/errors.log"
{
rotate 4 # кол-во хранимых сжатых фрагментов
weekly # игнорировать размер файла; производить ротацию регулярно, раз в неделю
missingok
nocopytruncate
nocreate
nodelaycompress
nomail
notifempty
noolddir
compress
postrotate
/usr/bin/killall -HUP httpd
endscript
}
Как можно увидеть из примеров, существует два подхода: обычная
(регулярная) ротация и ротация по достижению предельного размера
файла.
access.log
Для журнала access.log в примере выбран второй подход, по
достижению файлом размера 16 мегабайт. Если утилита
обнаруживает данный факт, ротация происходит. Всего система
хранит 10 архивных фрагментов. Самый старый удаляется.
errors.log
Журнал диагностики errors.log ротируется регулярно, раз в
неделю. Система хранит 4 архивных фрагмента (за месяц), самый
старый удаляется.
Расчет объема файлов
Для оптимальной ротации журналов нужно правильно рассчитать
параметры: какой предел выставить и сколько архивных файлов
хранить. Эта задача решается следующим образом.
Для начала следует принять коэффициент сжатия K = 10 (журналы
сжимаются хорошо). Также нужно определить максимальный объем
пространства, занимаемый журналом S. Примем число фрагментов равным
N = 10. Нужно найти предельный размер (порог) ротации L.
Рассчитаем суммарный объем, занимаемый журналом и частями его
архива:
N * L / K + L = 10 * L / 10 + L = 2 * L = S;
L = S/2
Мы заключили, что суммарный занимаемый объем равен двойному порогу
ротации. Если мы хотим отвести на журнал четверть дисковой квоты Q,
то L = Q/8.
Замечания
1. В устойчивом состоянии общий размер файлов будет колебаться между
величинами L и 2*L. Нижний предел соответствует состоянию после
ротации, верхний - непосредственно перед ротацией.
2. Расчет произведен условно. Предполагается, что ротация происходит
примерно в том же время, что и достижение размера текущего файла
порогового значения.
3. Желательно иметь запас дискового пространства для хранения
временных файлов.
Подписаться на:
Комментарии к сообщению (Atom)
0 коммент.:
Отправить комментарий