Настройка cron-выражений политик
В настоящем разделе описаны способы настройки периодичности срабатывания политик по расписанию с помощью cron-выражений.
Что такое cron
Cron — это стандартный формат для описания повторяющегося расписания. Расписание задается одной строкой из пяти полей, разделенных пробелами, и каждое поле отвечает за свою единицу времени.
Ниже представлен шаблон cron-выражений:
┌───────────── минута (0–59)
│ ┌───────────── час (0–23)
│ │ ┌───────────── день месяца (1–31)
│ │ │ ┌───────────── месяц (1–12)
│ │ │ │ ┌───────────── день недели (0–6, где 0 — воскресенье)
│ │ │ │ │
* * * * *
При использовании cron-выражения политика в системе будет срабатывать в тот момент, когда все поля выражения совпадают с текущим временем.
Использование специальных символов
В каждом поле можно использовать не только конкретное число, но и специальные символы.
| Символ | Значение | Пример | Что означает |
|---|---|---|---|
* | любое значение | * * * * * | каждую минуту |
, | перечисление значений | 0 9,18 * * * | в 9:00 и в 18:00 |
- | диапазон значений | 0 9-17 * * * | каждый час с 9:00 до 17:00 |
/ | шаг | */15 * * * * | каждые 15 минут |
Символы можно комбинировать. Например, выражение 0 9-17/2 * * 1-5 означает «каждые 2 часа с 9 до 17, по будням».
Если одновременно заданы и «день месяца», и «день недели», политика сработает в дни, попадающие под любое из двух условий.
Примеры cron-выражений
Элементы выражения 0 9 * * 1-5 имеют следующие значения:
- Минута
0— в нулевую минуту; - Час
9— девятого часа; - День месяца
*— любого числа; - Месяц
*— любого месяца; - День недели
1-5— с понедельника по пятницу. Общее значение выражения — каждый будний день в 9:00.
Элементы выражения */30 * * * 0 имеют следующие значения:
- Минута
*/30— каждые 30 минут (в :00 и :30); - Час
*— каждого часа; - День, месяц
*— любых; - День недели
0— по воскресеньям. Общее значение выражения — каждые полчаса по воскресеньям.
Для настройки политик вы можете воспользоваться готовыми выражениями, представленными в таблице ниже.
| Когда нужно запускать политику | Cron-выражение |
|---|---|
| Каждую минуту | * * * * * |
| Каждые 5 минут | */5 * * * * |
| Каждый час (в начале часа) | 0 * * * * |
| Каждый день в 00:00 (полночь) | 0 0 * * * |
| Каждый день в 9:00 утра | 0 9 * * * |
| Каждый будний день в 9:00 | 0 9 * * 1-5 |
| Каждый понедельник в 9:00 | 0 9 * * 1 |
| Дважды в день — в 9:00 и 18:00 | 0 9,18 * * * |
| Каждую субботу и воскресенье в 12:00 | 0 12 * * 0,6 |
| Первого числа каждого месяца в 00:00 | 0 0 1 * * |
| Последний рабочий час каждого будня | 0 17 * * 1-5 |
| Раз в неделю — воскресенье в 23:00 | 0 23 * * 0 |
| Каждые 15 минут в рабочие часы по будням | */15 9-18 * * 1-5 |
| Каждый квартал (1 января, апреля, июля, октября в 00:00) | 0 0 1 1,4,7,10 * |