Составление расписания заданий
Составление расписания – задача несложная. Расписание размещается в отдельном файле crontab. В каждой строке файла помещается задание, которое должно быть запущено в определенное время.
Рассмотрим формат записей файла crontab:
time-date command
Часть time-date (время-дата) состоит из пяти числовых полей, разделенных пробелами и определяющих время запуска задания. Это следующие поля (слева направо).
- Минуты. Допустимые значения: 0-59.
- Часы. Допустимые значения: 0-23.
- День месяца. Допустимые значения: 0-31.
- Месяц. Допустимые значения: 0-12. Месяц можно указать тремя первыми буквами его (английского) названия.
- День недели. Допустимые значения: 0-7, где 0 и 7 – воскресенье.
Для удобства заполнения указанных полей введены следующие правила.
- Можно указывать значения в виде численных интервалов. К примеру, интервал 1-3 в поле часов означает 1.00, 2.00 и 3.00 пополуночи, 2-4 в поле дня недели – вторник, среду или четверг.
- Интервалы можно задавать с шагом больше единицы. Например, чтобы указать каждый второй час, начиная с полуночи, следует установить интервал 0-23 с шагом 2 через косую черту: 0-23/2.
- Звездочка (*) указывает полный интервал значений поля – от минимального до максимального. Например, в поле дня месяца звездочка означает интервал 0-31, в поле дня недели – 0-7.
- День недели или месяц можно указать первыми тремя буквами его (английского) названия.
Примеры времени-даты
Рассмотрим несколько примеров заполнения полей времени-даты.
0 1 Запуск задания ежедневно в 1.00 пополуночи 30 14 * <strong>*</strong> 0 Запуск задания по воскресеньям в 2.30 пополудни 0.12 * 1 .mоn Запуск задания в полдень каждого понедельника января каждого года 0 12 2 feb * Запуск задания в полдень второго февраля каждого года
Поле command
Поле command (команда) отделено от полей времени-даты одним или несколькими пробелами и простирается до конца строки. Команды обрабатываются оболочкой /bin/sh.
Например, следующая запись в файле crontab предусматривает ежедневный запуск программы /usr/local/bin/backupB 1.00 пополуночи.
0 1 * * * /usr/local/bin/backup
Некоторым командам (например, mail) требуется ввод информации с устройства стандартного ввода. Это указывается при помощи знака процента (%). Первый такой знак обозначает начало стандартного ввода, каждый последующий – смену строки.
Таким образом, следующая запись в файле crontab:
30 14 * * fri /bin/mail – s "TGIF" armand@landegg.еdu%Слава богу, уже пятница%%Я.
…предписывает отправлять сообщение электронной почты: "Слава богу, уже пятница Я" по адресу armand@landegg.edu каждую пятницу в 2.10 пополудни.
Редактирование файла crontab
Файл crontab редактируется командой crontab – e.
Возможны два подхода: создание нового файла со всеми записями, которые должны входить в файл crontab, с последующей его записью на диск под этим именем по команде crontab; или непосредственное редактирование файла по команде crontab – e.