Иллюстрированный самоучитель по Linux

Составление расписания заданий

Составление расписания – задача несложная. Расписание размещается в отдельном файле 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.

Если Вы заметили ошибку, выделите, пожалуйста, необходимый текст и нажмите CTRL + Enter, чтобы сообщить об этом редактору.