Введение в Unix

         

Периодическое выполнение заданий


Одной из команд, выполняемых в составе системного стартового командного файла /etc/rc начальным процессом, может быть команда /etc/cron, создающая постоянный процесс, пробуждающийся периодически каждую минуту. Этот процесс просматривает записи файла /usr/lib/crontab в поисках заданий, которые должны быть выполнены. Типичный файл crontab может выглядеть следующим образом (пример):

cat /usr/lib/crontab 0 0 * * * /etc/backup -fsck 0,15,30,45 2-23 * * * /usr/lib/atrun

Первые пять полей записи файла crontab означают минуты (0-59), часы (0-23), день месяца (1-31), месяц года (1-12) и день недели (0-6, 0 - воскресенье). В каждом из этих полей может быть значение, перечень значений, разделенных запятыми, или границы интервала значений, разделенные минусом; звездочка означает любое возможное значение. В данном примере первая запись соответствует ежедневному выполнению в полночь сброса и проверки файловой системы в течение всего года; вторая - выполнению программы запуска заданий, запланированных командой at, каждые 15 минут с 2 часов ночи до 11 часов вечера ежедневно в течение всего года.

Команда at планирует выполнение командного файла интерпретатора shell (shell-скрипта), указанного ее последним аргументом в момент времени, заданный ее первыми аргументами. Например:

at 2300 jun 16 scriptfile_1

Указанный файл будет выполнен в 11 часов вечера в указанный день текущего года. Точность времени запуска зависит от периода пробуждения постоянного процесса, выполняющего команду cron. Все действия процесса, выполняющего cron, фиксируются в учетном файле /usr/lib/cronlag, если он существует и открыт на запись в момент выполнения команды cron.

Команду at может запустить любой пользователь, чтобы оставить задание на ночное время.



Содержание раздела