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

}

Данный текст является ознакомительным фрагментом.