9.3.4. Что делать с протоколами дальше? Утилита logrotate
9.3.4. Что делать с протоколами дальше? Утилита logrotate
Журнальные файлы разрастаются быстро, и рано или поздно с ними приходится что-то делать: сжимать, архивировать или просто удалять. В дистрибутивах линии Red Hat и Debian для управления журналами — не только системы syslog, но и любых прикладных программ, — предназначена утилита logrotate. Она устанавливается из пакета logrotate вместе с примерным конфигурационным файлом и сценарием, обеспечивающим ее периодический запуск (п.9.4). В результате установки этого пакета сценарий logrotate попадает в каталог /etc/cron.daily.
Как следует из названия утилиты logrotate, ее основное занятие — это ротация журнальных файлов. Ротация — это последовательное переименование предыдущих версий журналов (maillog.2 a maillog.3, maillog.1 в maillog.2, maillog в maillog.1) и создание нового пустого журнального файла (maillog) для записи последующих сообщений. Ротация производится либо по истечении указанного времени, либо по превышении журнальным файлом указанного размера.
Список журналов, подлежащих обработке утилитой logrotate, и инструкции по обработке определяются конфигурационными файлами, имена которых в любом количестве передаются как аргументы при вызове утилиты (см. man logrotate). Директивы последующих конфигурационных файлов перекрывают директивы предыдущих, так что порядок имеет значение. Традиционно используется один файл /etc/logrotate.conf, а инструкции для дополнительных журналов включаются в него при помощи директивы include.
Листинг 9.5. Примерный конфигурационный файл /etc/logrotate.conf
# Секция глобальных параметров —
# инструкции для всех журналов
# Расписание ротации: еженедельно.
# Возможны варианты: daily, monthly,
# size <байт> — по достижении файлом указанного размера
weekly
# Сохранять 4 предыдущих журнала
rotate 4
# После ротации создавать новый пустой журнальный файл
create
# Сохранять старые журналы в сжатом виде [по умолчанию
# при помощи gzip, директива compresscmd позволяет указать
# другую программу для сжатия)
compress
# В каталог /etc/logrotate.d прикладные программы помещают
# инструкции по управлению их собственными журналами.
# Директива include <каталог> требует включить все файлы,
# содержащиеся в этом каталоге.
include /etc/logrotate.d
# Секция локальных параметров - инструкции для
# перечисленных в ней журналов
/var/log/wtmp /var/log/lastlog {
monthly
create 0664 root utmp
rotate 1
}
Данный текст является ознакомительным фрагментом.