Cron-выражения

Синтаксис cron-выражений
Специальные символы
Примеры cron-выражений

Cron (Command Run On) - это система для автоматического запуска задач в определенное время.

Cron-выражения предназначены для возможности задавать периодичность и время срабатывания задач планировщика.

Синтаксис cron-выражений

Период срабатывания определенной задачи задается посредством синтаксиса cron-выражений.

Cron-выражение - это строка, состоящая из 6 или 7 полей, отделенных между собой пробелами, где Seconds, Minutes, Day of month и др. - это хронологический параметр; YES - указание обязательности использования данного фрагмента cron-выражения; 0-59 - значение, допустимый интервал для заданного элемента cron-выражения; (* /- ,) - набор разрешенных спецсимволов.

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

Примечание: подробную информацию о специальных символах смотрите в разделе контекстной справки Специальные символы.

Формат cron-выражения выглядит следующим образом:

  1. Seconds YES 0-59 , - * /

  2. Minutes YES 0-59 , - * /

  3. Hours YES 0-23 , - * /

  4. Day of month YES 1-31 , - * ? / L W

  5. Month YES 1-12 or JAN-DEC , - * /

  6. Day of week YES 1-7 or SUN-SAT , - * ? / L #

  7. Year NO empty, 1970-2099 , - * /

Специальные символы

В cron-выражениях используются следующие специальные символы:

Примеры cron-выражений

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).


Оглавление