Cron (Command Run On) - это система для автоматического запуска задач в определенное время.
Cron-выражения предназначены для возможности задавать периодичность и время срабатывания задач планировщика.
Период срабатывания определенной задачи задается посредством синтаксиса cron-выражений.
Cron-выражение - это строка, состоящая из 6 или 7 полей, отделенных между собой пробелами, где Seconds, Minutes, Day of month и др. - это хронологический параметр; YES - указание обязательности использования данного фрагмента cron-выражения; 0-59 - значение, допустимый интервал для заданного элемента cron-выражения; (* /- ,) - набор разрешенных спецсимволов.
Поля могут содержать любые из допустимых значений, а также различные комбинации специальных символов.
Примечание: подробную информацию о специальных символах смотрите в разделе контекстной справки Специальные символы.
Формат cron-выражения выглядит следующим образом:
Seconds YES 0-59 , - * /
Minutes YES 0-59 , - * /
Hours YES 0-23 , - * /
Day of month YES 1-31 , - * ? / L W
Month YES 1-12 or JAN-DEC , - * /
Day of week YES 1-7 or SUN-SAT , - * ? / L #
Year NO empty, 1970-2099 , - * /
В cron-выражениях используются следующие специальные символы:
* - все значения в пределах одного фрагмента cron-выражения. Например, в поле "Minutes" специальный символ "*" обозначает, что задача будет выполняться каждую минуту;
? - неопределенное значение. Если Вам необходимо, чтобы задача запускалась, к примеру 10 числа каждого месяца, но не важно, в какой день недели, то в поле "Day of month" необходимо установить значение "10", а в поле "Day of week" - "?";
- - определение диапазонов. Например, "10-12" в поле "Hours" означает часы 10, 11 и 12;
, - указание дополнительных значений. К примеру, значения "ПОНЕДЕЛЬНИК, СРЕДА, ПЯТНИЦА" в поле "Day of week" будут использоваться в cron-выражении в виде запуска задачи в понедельник, среду и пятницу;
/ - приращение значений. Например, "5/15" в области секунд означает "секунды 5, 20, 35, и 50, то есть значение "5" будет увеличиваться на "15";
L - определение последнего дня. В поле "Day of month", к примеру, значение "L" подразумевает, что задача будет выполняться в последний день каждого месяца. В поле "Month" значение "6L" обозначает, что задача была запущена в прошлую пятницу месяца;
W - определение буднего дня (понедельник-пятница). Например, в поле "Day of month" значение "15 W" будет обозначать самый близкий будний день к 15-ому из месяца, то есть если 15-м числом является суббота, задача будет запущена в пятницу 14-го. Если 15-ым числом будет воскресенье, то задача будет запущена в понедельник 16-го.
0 0 12 * * ? (запуск задачи каждый день в 12.00);
0 15 10 ? * * (запуск задачи в 10.15 каждый день);
0 15 10 * * ? 2005 (запуск задачи в 10.15 каждый день в течение всего 2005 года);
0 * 14 * * ? (запуск задачи каждую минуту с 2.00 до 2.55 каждый день);
0 0/5 14 * * ? (запуск задачи каждые 5 минут, с 2.00 до 2.55 каждый день);
0 0/5 14,18 * * ? (запуск задачи каждые 5 минут, с 2.00 до 2.55 и каждые 5 минут с 18.00 до 18.55);
0 10,44 14 ? 3 WED (запуск задачи в 2.10 и в 2.44 каждую среду в марте);
0 15 10 ? * MON-FRI (запуск задачи каждый день с понедельника по пятницу включительно);
0 15 10 15 * ? (запуск задачи в 10.15 пятнадцатого числа каждого месяца);
0 15 10 ? * 6L (запуск задачи в прошлую пятницу каждого месяца);
0 15 10 ? * 6#3 (запуск задачи в 10.15 в третью пятницу каждого месяца);
0 0 12 1/5 * ? (запуск задачи в 12.00 каждые пять дней каждый месяц, начиная с первого дня месяца);
0 11 11 11 11 ? (запуск задачи каждого одиннадцатого ноября в 11.11).
Оглавление |