Как использовать CRON выражения

CRON-выражение позволяет задавать комплексные комбинации времени для включения/отключения интернета, такие как "В 8:00 с понедельника по пятницу" или "В 1:30 каждую последнюю пятницу месяца".

CRON-выражение состоит из 6-ти обязательных полей и одного опционального.

ПолеДопустимые значенияРазрешенные символы
Секунды0-59, - * /
Минуты0-59, - * /
Часы0-23, - * /
День месяца1-31, - * / ? L W
Месяц1-12 или JAN-DEC, - * /
День недели1-7 или SUN-SAT, - * / ? L #
Год (опционально)1970-2099, - * /

* Указывает на все возможные значения. Например, "*" в поле минут означает "каждую минуту"
- Обозначает использование интервала. Например, "9-12" в поле "Часы" фактически обозначает "9, 10, 11, 12".
, Используется для перечисления значений. Например, "MON,WED,FRI" означает "запускать в понедельник, среду и пятницу".
/ Используется для периодичного запуска заданий. Например "0/15" в поле "секунды" означает, что задание будет запущено в 0, 15, 30 и 45 секунд.
L Может быть указан в полях "день месяца" или "день недели" и обозначает "последний день месяца" или "последний день недели". Кроме того, символ "L" может следовать за каким-либо значением в поле "день недели", что обозначает, что запуск должен быть выполнен в "последний XXX день месяца". Например "6L" подразумевает, что выполнение должно начаться в последнюю пятницу месяца.
W Может быть указан в поле "день месяца" и обозначает, что выполнение задания должно начаться в ближайший к указанному дню рабочий день (Пн-Пт). Например "15W" означает "ближайший рабочий день к 15-му числу". Если 15-е суббота, то выполнение начнется в пятницу, 14-го. Если же 15-е воскресенье, то выполнение начнется 16-го, в понедельник. "LW" также может быть указано, что означает "последний рабочий день месяца".
# Может быть указан в поле "день недели" и означает "n-й день месяца". Например "6#3" означает запуск задания каждую третью пятницу месяца (6 - день недели, 3 - порядковый номер).
? Может быть указан в полях "день месяца" или "день недели". Обозначает "значение не указано" и может быть использовано, когда нужно указать что-то в одном из двух полей, но не в обоих одновременно.

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


ВыражениеСмысл
"0 15 10 ? * *"в 10:15 каждый день
"0 15 10 * * ?"в 10:15 каждый день
"0 15 10 * * ? 2005"в 10:15 каждый день 2005-го года
"0 * 14 * * ?"каждую минуту, начиная с 14:00 и заканчивая в 14:59
"0 0/5 14 * * ?"каждые 5 минут, начиная с 14:00 и заканчивая в 14:55
"0 0/5 14,18 * * ?"каждые 5 минут, начиная с 14:00 и заканчивая в 14:55, И начиная в 18:00 и заканчивая в 18:55
"0 0-5 14 * * ?"каждую минуту, начиная с 14:00 и заканчивая в 14:05
"0 10,44 14 ? 3 WED"в 14:10 и 14:44 каждую среду марта
"0 15 10 ? * MON-FRI"в 10:15 каждый понедельник, вторник, среду, четверг и пятницу
"0 15 10 15 * ?"в 10:15 15-го числа каждого месяца
"0 15 10 L * ?"в 10:15 каждый последний день месяца
"0 15 10 ? * 6L"в 10:15 каждую последнюю пятницу месяца
"0 15 10 ? * 6#3"в 10:15 каждую третью пятницу месяца