Как настроить расписание инспекций?
Поле расписания инспекций использует выражения Crontab, которые позволяют точно задавать время срабатывания по таким параметрам, как минуты, часы, дни, месяцы, недели и годы.
Содержание
Основные особенности
Поскольку Kubernetes работает по UTC (Universal Time Coordinated), при настройке правил срабатывания для запланированных задач необходимо сначала перевести местное время (например, пекинское время) в UTC, а затем преобразовать UTC во выражения Crontab.
Преобразование времени в UTC
Правило преобразования времени: Местное время - Разница часового пояса = UTC
В качестве примера возьмём преобразование пекинского времени в UTC:
Пекин находится в часовом поясе UTC+8, значит разница между пекинским временем и UTC составляет 8 часов, и правило преобразования такое:
Пекинское время - 8 = UTC
Пример 1: Пекинское время 9:42 преобразуется в UTC: 42 09 - 00 08 = 42 01, то есть UTC время — 01:42 .
Пример 2: Пекинское время 4:32 утра преобразуется в UTC: 32 04 - 00 08 = -68 03. Если получается отрицательное число, это означает предыдущий день, и требуется дополнительное преобразование: -68 03 + 00 24 = 32 20, то есть UTC время — 20:32 предыдущего дня.
Запись выражений Crontab
Базовый формат: Минуты Часы День Месяц Неделя
Диапазоны значений
Поля минуты, часы, дни, месяцы и недели допускают использование специальных символов, включая:
,: Разделитель списка для указания нескольких значений. Например: 1,2,5,7,8,9.-: Пользовательский диапазон значений. Например: 2-4, что означает 2, 3, 4.*: Обозначает весь период времени. Например, в поле минут — каждую минуту./: Используется для указания шага. Например: n/m означает начиная с n, с шагом m.
Для удобства можно воспользоваться онлайн-конвертером на Crontab.guru.
Распространённые примеры:
-
Ввод 30 18 25 12 * означает, что задача сработает в 18:30:00 25 декабря.
-
Ввод 30 18 25 * 6 означает, что задача сработает в 18:30:00 25 числа каждого месяца и в каждую субботу.
-
Ввод 30 18 * * 6 означает, что задача сработает в 18:30:00 каждую субботу.
-
Ввод * 18 * * * означает, что начиная с ближайшего времени 18:00:00 задача будет срабатывать каждую минуту (включая 18:00:00 ).
-
Ввод 0 18 1,10,22 * * означает, что задача сработает в 18:00:00 1-го, 10-го и 22-го числа каждого месяца.
-
Ввод 0,30 18-23 * * * означает, что ежедневно с 18:00 до 23:00 задача будет срабатывать в 00 и 30 минут каждого часа.
-
Ввод * */1 * * * означает, что задача будет срабатывать каждую минуту.
-
Ввод * 2-7/1 * * * означает, что задача будет срабатывать каждую минуту с 2 до 7 часов утра ежедневно.
-
Ввод 0 11 4 * mon-wed означает, что задача сработает в 11:00 4-го числа каждого месяца и по понедельникам, вторникам и средам.