Как настроить расписание инспекций?

Поле расписания инспекций использует выражения 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

Базовый формат: Минуты Часы День Месяц Неделя

Диапазоны значений

МинутыЧасыДниМесяцыНедели
[0-59][0-23][1-31][1-12] или [JAN-DEC][1-7] или [SUN-SAT]

Поля минуты, часы, дни, месяцы и недели допускают использование специальных символов, включая:

  • ,: Разделитель списка для указания нескольких значений. Например: 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-го числа каждого месяца и по понедельникам, вторникам и средам.