Руководство по администрированию UNIX System V

Автоматическое выполнение программ


Система UNIX V Release 4.0 Version 1.0 позволяет поддерживать автоматическое функционирование программ в указанное время. Это можно сделать с помощью программы cron. Программа cron и команда crontab позволяют вам прогонять программы в нерабочие часы. Это удобно при работе с затратными по времени программами или с управляющими процедурами, или процедурами подчистки, которые требуют наличия машины, находящейся в спокойном состоянии.

Любое задание, которое требует повторных выполнений в указанное время, является потенциальным заданием файла cron, помещенного в каталог /var/spool/cron/crontabs. Вы можете использовать команду crontab, чтобы организовать нужные вам элементы.

Команда crontab используется следующим образом:

crontab file crontab -r crontab -l

Команда crontab копирует указанный file (или стандартный ввод, если файл не указан) в каталог, который содержит все crontab пользователя. Параметр -r удаляет crontab пользователя из каталога crontab. Параметр -l выполнит просмотр файла crontab, чтобы вызвать пользователя.

Каждая строка файла crontab определяет одну процедуру. Формат строкового элемента выглядит следующим образом:

minute hour day month day-of-week command

Каждое поле определяется следующим образом

minute (0-59), hour (0-23), day (1-31), month (1-12), day-of-week (0-6, 0=Sunday) command (команда, которая должна выполняться в указанное время).

Нижеприводимые правила относятся к первым пяти полям.

Два числа, отделенные друг от друга дефисом, указывают диапазон чисел.

Список чисел, отделенных друг от друга запятыми, указывает, что использоваться будут только перечисленные числа.

Звездочка указывает все разрешенные значения.

Например,

0 0 1,14 * 2

указывает, что команда будет функционировать первого и четырнадцатого числа каждого месяца, а также каждый вторник. Если в командном поле (шестое поле) размещен знак %, система UNIX переведет его как символ новой строки. Только первая строка командного поля (символьная строка до знака %) выполняется командным файлом. Все другие строки бывают доступными для команды в виде стандартного ввода.

Например, пусть файл, вызванный anyfile, содержит следующий элемент cron:

0 0 1 * * mailx $LOGNAME % Subject: Call Mom! % now

Когда выполняется командная строка crontab anyfile, пользователь, чье имя регистрации $LOGNAME, будет получать напоминание с Call Mom! первого числа каждого месяца.



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