Список журналов, подлежащих обработке утилитой 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

}

<p>9.4. Выполнение заданий по расписанию</p>

Пользователи ОС Windows привыкли к тому, что существует Мастер планирования заданий, позволяющий автоматически запускать приложения в заранее назначенное время. В UNIX-подобных ОС есть еще более мощный и гибкий диспетчер расписаний. Его удобно использовать для автоматизации обслуживания системы и выполнения других задач, не требующих взаимодействия с пользователем. Например, в нерабочее время можно автоматически выполнять резервное копирование данных или обновление системы через Интернет.

Создавать расписания и ставить задания в очередь на выполнение имеют право все, кому это явно не запрещено суперпользователем.

Сердцем системы периодического выполнения служат демоны atd и cron (в Red Hat-совместимых дистрибутивах он называется crond).

<p>9.4.1. Запуск задания в назначенное время: команда at</p>

Демон atd обслуживает задания, назначенные для однократного выполнения либо в установленное время, либо тогда, когда нагрузка на систему снизится до приемлемого уровня.

Для постановки задания в очередь для выполнения в указанное время служит команда at:

at [-f <файл>] ЧЧ:ММ

Файл — это исполняемый файл либо сценарий командного интерпретатора. Если он не указан, то вы должны будете вводить команды в командной строке, завершая ввод, как обычно, нажатием комбинации клавиш Ctrl+D.

Команда at допускает и более сложные спецификации времени, чем ЧЧ:ММ; вы можете указать дату или такое время, как midnight, noon или teatime. Подробности вы найдете на man-странице команды at.

Команда atq служит для просмотра очереди заданий. Для непривилегированного пользователя она выводит задания, поставленные в очередь им, а для суперпользователя — все задания. Удалить задание из очереди вы можете командой atrm.

Команда batch используется для тех заданий, которые заведомо потребуют много процессорного времени. Задание, поставленное в очередь при помощи этой команды, начинает выполняться только тогда, когда нагрузка на систему (среднее число процессов, ожидающих выделения им кванта времени) снизится до заранее установленного значения (по умолчанию 0.8; подробности — man atd).

Очередь заданий находится в каталоге /var/spool/at. Файлы /еtс/at.allow и /etc/at.deny содержат списки тех пользователей, которым разрешено и запрещено пользоваться системой at.

<p>9.4.2. Диспетчер расписаний — демон cron</p>
Перейти на страницу:

Все книги серии Полное руководство

Похожие книги