Операционные системы - статьи


Ротация файлов протокола


Если система интенсивно используется, то файлы протоколов быстро растут, порождая проблему протоколов. В Red Hat это решается скриптом logrotate из каталога /etc/cron.daily ежедневно запускаемого демоном cron. Этот скрипт позволяет обрабатывать не только журналы системы syslog, но и любые другие программы. Скрипт обеспечивает так называемую ротацию этих файлов в случае, если они превысили указанный размер (или по истечению указанного временного интервала). Ротация - последовательное копирование предыдущих версий архивных файлов примерно следующим образом:

messages.1 -> messages.2 messages.0 -> messages.1 messages -> messages.0

и создание нового файла messages для записи последующих сообщений.

Перечень файлов для обработки скриптом logrotate и параметры этой обработки определяются конфигурационными файлами, которых может быть несколько. Имена конфигурационных файлов задаются в командной строке запуска скрипта. В Red Hat Linux по умолчанию в качестве конфигурационных файлов для logrotate используется файл /etc/logrotate.conf, который может иметь примерно такой вид:

weekly rotate 4 create compress include /etc/logrotate.d /var/log/wtmp /var/log/lastlog { monthly create 0664 root utmp rotate 1 }

Этот файл, как и любой конфигурационный файл для скрипта logrotate, состоит из нескольких секций. Первая секция определяет глобальные параметры (по одному на строке), задающие параметры по умолчанию для всех журналов. Следующие секции определяют локальные параметры для серии файлов протоколов. Имена этих файлов перечисляются в первой строке секции, а затем в фигурных скобках задаются локальные параметры, действующие только при обработке указанных файлов (тоже по одному параметру в строке). Локальные параметры имеют приоритет над глобальными.

В приведенном примере конфигурационного файла сначала описываются глобальные параметры, а затем в отдельной секции - параметры обработки файлов /var/log/wtmp и /var/log/lastlog. Кроме того, среди глобальных параметров дается ссылка на каталог /etc/logrotate.d куда каждый пакет записывает локальные параметры для своих журналов.


Начало  Назад  Вперед



Книжный магазин