Настройка правил срабатывания планировщика задач

Правила срабатывания планировщика задач поддерживают ввод выражений Crontab.

Содержание

Преобразование времени

Правило преобразования времени: местное время - смещение часового пояса = UTC

В качестве примера возьмём пекинское время и время UTC:

Пекин находится в часовом поясе Восточного восьмого, разница между пекинским временем и UTC составляет 8 часов. Правило преобразования:

Пекинское время - 8 = UTC

Пример 1: пекинское время 9:42 преобразуется в UTC: 42 09 - 00 08 = 42 01, что означает 1:42 AM по UTC.

Пример 2: пекинское время 4:32 AM преобразуется в UTC: 32 04 - 00 08 = -68 03. Если результат отрицательный, это означает предыдущий день, требуется дополнительное преобразование: -68 03 + 00 24 = 32 20, что означает 8:32 PM предыдущего дня по UTC.

Запись выражений Crontab

Базовый формат и диапазон значений Crontab: minute hour day month weekday, с соответствующими диапазонами значений, приведёнными в таблице ниже:

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

Специальные символы, разрешённые в полях minute hour day month weekday, включают:

  • ,: разделитель списка значений, используется для указания нескольких значений. Например: 1,2,5,7,8,9.
  • -: пользовательский диапазон значений. Например: 2-4, что означает 2, 3, 4.
  • *: обозначает весь период времени. Например, для минут — каждую минуту.
  • /: используется для указания шага увеличения значений. Например: n/m означает начиная с n, увеличивать на m каждый раз.

Ссылка на инструмент преобразования

Распространённые примеры:

  • Ввод 30 18 25 12 * означает, что задача сработает в 18:30:00 25 декабря.

  • Ввод 30 18 25 * 6 означает, что задача сработает в 18:30:00 каждую субботу.

  • Ввод 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 * * * означает, что задача сработает в 00 и 30 минут каждого часа с 18:00 до 23:00 ежедневно.

  • Ввод * */1 * * * означает, что задача сработает каждую минуту.

  • Ввод * 2-7/1 * * * означает, что задача сработает каждую минуту с 2 AM до 7 AM ежедневно.

  • Ввод 0 11 4 * mon-wed означает, что задача сработает в 11:00 AM 4-го числа каждого месяца и по понедельникам, вторникам и средам.