Настройка правил срабатывания планировщика задач
Правила срабатывания планировщика задач поддерживают ввод выражений 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, с соответствующими диапазонами значений, приведёнными в таблице ниже:
Специальные символы, разрешённые в полях 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:001-го, 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 AM4-го числа каждого месяца и по понедельникам, вторникам и средам.