Синтаксис использования календарной строки для значения параметра repeat_interval процедуры CREATE_JOB чрезвычайно прост.
Например, если вы определяете задание, которое выполняется с понедельника по пятницу ровно в 7 часов утра и 3 часа дня,
то значением параметра repeat_interval может быть такая календарная строка:
FREQ=DAILY; BYDAY=MON,TUE,WED,THU,FRI; BYHOUR=7,15 с понедельника по пятницу ровно в 7 часов утра и 3 часа дня
Предложение FREQ может быть ровно одно, а предложений BY может быть несколько разных видов.
Предложение FREQ задает интервал между повторными выполнениями.
Если задание должно повторяться каждый день FREQ = DAILY.
FREQ=DAILY;
FREQ=HOURLY;
FREQ=MINUTELY;
FREQ=SECONDLY;
FREQ=YEARLY;
FREQ=MONTHLY;
FREQ=WEEKLY;
Предложение BY определяет, когда именно задание будет выполняться.
В примере, определяя частоту выполнения, мы указали, что задание выполняется ежедневно (FREQ=DAILY).
Теперь следует ограничить множество дней (задание должно выполняться только в рабочие дни), указав BYDAY=MON,TUE,WED,THU,FRI.
Далее необходимо потребовать, чтобы задание запускалось в 7 часов утра и в 3 часа дня, указав BYHOUR=7,15.
Разрешены следующие ключевые слова:
BYMONTH,
BYMONTHDAY,
BYYEARDAY,
BYHOUR,
BYMINUTE и
BYSECOND
Предположим, что задание следует запускать ежедневно (вне зависимости от дня недели) в 10 часов утра, в 2 часа дня и в 8 часов вечера.
Тогда параметр repeat_interval может быть таким:
FREQ=DAILY; BYHOUR=10,14,20 ежедневно (вне зависимости от дня недели) в 10 часов утра, в 2 часа дня и в 8 часов вечера.
FREQ=DAILY; INTERVAL=2, BYHOUR=10,14,20 через день, а не каждый день Используем новое ключевое слово – INTERVAL
Предложение INTERVAL=2 изменяет частоту вдвое по отношению к значению, указанному в предложении FREQ. В нашем случае FREQ=DAILY,
поэтому задание будет выполняться каждые два дня.
FREQ=DAILY; BYHOUR= - 2 Отрицательные значения означают отсчет от конца периода. Например, следующая строка задает второй час, начиная с конца дня
BYMONTH Планирование выполнение задания в определенные месяцы.
BYMONTH=JUN,DEC чтобы выполнялось только в июне и декабре
BYMONTH=6,12 по номерам месяцев
Точная дата внутри месяца, когда задание будет выполнено, совпадает с днем его запуска.
Например, если задание запускается 4 июля, то в декабре и в июне оно будет выполнено 4 числа.
Если необходимо, чтобы задание выполнялось в другой день, следует использовать ключевое слово BYMONTHDAY.
BYMONTHDAY Указывает, в какой именно день месяца должно выполняться задание.
FREQ=MONTHLY; BYMONTHDAY=1; BYHOUR=15 первого числа каждого месяца в 3 часа дня
Если опустить предложение BYHOUR, задание по умолчанию будет выполняться в полночь.
BYYEARDAY Указывает, в какой день года должно выполняться задание.
FREQ=YEARLY; BYYEARDAY=15 в пятнадцатый день каждого года
BYHOUR Планирование выполнения задания в определенные часы.
FREQ=DAILY; BYHOUR=3,6,9 каждый день в 3, 6 и 9 часов утра задаем:
FREQ=MINUTELY; BYHOUR=3,6,9 каждую минуту в определённые часы ( 03:00:00-03:59:00, 06:00:00-06:59:00, 09:00:00-09:59:00)
BYMINUTE Планирование выполнения задания в определенную минуту.
FREQ=MINUTELY; BYMINUTE=30 каждые полчаса
FREQ=HOURLY; BYMINUTE=30 каждые полчаса так как составляющая часа не указывается
FREQ=DAILY; BYMINUTE=30 выполняется каждый день в 00:30 округление будет вестись с точностью до дня
BYSECOND планирования выполнения задания в определенную секунду.
Отрицательное значение какого то ключевого слова означает отсчет от конца (а не от начала) периода.
Например, следующая календарная строка
FREQ=YEARLY; BYYEARDAY= - 1 указывает на первый день года, начиная с его конца.
Поэтому такое задание будет выполняться каждый год 31 декабря.
Примеры календарных строк:
Пусть сегодня 5 июля 2005 года
FREQ=YEARLY будет выполняться 5 июля каждый год, начиная с 2006 в полночь
FREQ=YEARLY; INTERVAL=2 будет выполнено 5 июля в 2007 году, 2009, 2011 и т. д. (через год)
FREQ=YEARLY; BYMONTH=JAN будет выполняться ежегодно 5 января (опять таки в полночь) просто поменялся месяц.
FREQ=YEARLY; BYMONTH=JAN; BYMONTHDAY=2 будет выполняться 2 января 2006 года, 2 января 2007 года и т. д.
FREQ=YEARLY; BYMONTH=JAN; BYDAY=SUN будет выполняться ежегодно каждое воскресенье января
FREQ=YEARLY; BYMONTH=JAN; BYMONTHDAY=2; BYDAY=SUN будет выполняться каждое воскресенье января, если оно выпадет на 2-е число
FREQ=YEARLY; BYYEARDAY=60 выполнение задания каждый 60-й день года
планировщик учел високосность 2008 года: в нем 60-й день выпадает на 29 января В остальных случаях шестидесятым днем года является 1 марта
FREQ=YEARLY; BYYEARDAY=60; BYMONTHDAY=1 Пусть задание выполняется в 60-й день года и в первый день месяца (високосный год будет пропущен)
FREQ=YEARLY; BYWEEKNO=2 выполняться каждый день второй недели года Все семь дней второй недели каждого года
FREQ=DAILY; BYHOUR=3,6,9 выполняется ежедневно ровно в три, шесть и девять часов утра
FREQ=DAILY; INTERVAL=2; BYHOUR=3,6,9 тоже но через два дня Задание выполняется 6 июля ровно в три, шесть и девять часов утра, затем 8 июля
FREQ=DAILY; BYHOUR=3,6,9; BYMINUTE=00,15,30,45 выполняется ежедневно в 3, 6 и 9 часов дня, но в указанные минуты
Например, если вы определяете задание, которое выполняется с понедельника по пятницу ровно в 7 часов утра и 3 часа дня,
то значением параметра repeat_interval может быть такая календарная строка:
FREQ=DAILY; BYDAY=MON,TUE,WED,THU,FRI; BYHOUR=7,15 с понедельника по пятницу ровно в 7 часов утра и 3 часа дня
Предложение FREQ может быть ровно одно, а предложений BY может быть несколько разных видов.
Предложение FREQ задает интервал между повторными выполнениями.
Если задание должно повторяться каждый день FREQ = DAILY.
FREQ=DAILY;
FREQ=HOURLY;
FREQ=MINUTELY;
FREQ=SECONDLY;
FREQ=YEARLY;
FREQ=MONTHLY;
FREQ=WEEKLY;
Предложение BY определяет, когда именно задание будет выполняться.
В примере, определяя частоту выполнения, мы указали, что задание выполняется ежедневно (FREQ=DAILY).
Теперь следует ограничить множество дней (задание должно выполняться только в рабочие дни), указав BYDAY=MON,TUE,WED,THU,FRI.
Далее необходимо потребовать, чтобы задание запускалось в 7 часов утра и в 3 часа дня, указав BYHOUR=7,15.
Разрешены следующие ключевые слова:
BYMONTH,
BYMONTHDAY,
BYYEARDAY,
BYHOUR,
BYMINUTE и
BYSECOND
Предположим, что задание следует запускать ежедневно (вне зависимости от дня недели) в 10 часов утра, в 2 часа дня и в 8 часов вечера.
Тогда параметр repeat_interval может быть таким:
FREQ=DAILY; BYHOUR=10,14,20 ежедневно (вне зависимости от дня недели) в 10 часов утра, в 2 часа дня и в 8 часов вечера.
FREQ=DAILY; INTERVAL=2, BYHOUR=10,14,20 через день, а не каждый день Используем новое ключевое слово – INTERVAL
Предложение INTERVAL=2 изменяет частоту вдвое по отношению к значению, указанному в предложении FREQ. В нашем случае FREQ=DAILY,
поэтому задание будет выполняться каждые два дня.
FREQ=DAILY; BYHOUR= - 2 Отрицательные значения означают отсчет от конца периода. Например, следующая строка задает второй час, начиная с конца дня
BYMONTH Планирование выполнение задания в определенные месяцы.
BYMONTH=JUN,DEC чтобы выполнялось только в июне и декабре
BYMONTH=6,12 по номерам месяцев
Точная дата внутри месяца, когда задание будет выполнено, совпадает с днем его запуска.
Например, если задание запускается 4 июля, то в декабре и в июне оно будет выполнено 4 числа.
Если необходимо, чтобы задание выполнялось в другой день, следует использовать ключевое слово BYMONTHDAY.
BYMONTHDAY Указывает, в какой именно день месяца должно выполняться задание.
FREQ=MONTHLY; BYMONTHDAY=1; BYHOUR=15 первого числа каждого месяца в 3 часа дня
Если опустить предложение BYHOUR, задание по умолчанию будет выполняться в полночь.
BYYEARDAY Указывает, в какой день года должно выполняться задание.
FREQ=YEARLY; BYYEARDAY=15 в пятнадцатый день каждого года
BYHOUR Планирование выполнения задания в определенные часы.
FREQ=DAILY; BYHOUR=3,6,9 каждый день в 3, 6 и 9 часов утра задаем:
FREQ=MINUTELY; BYHOUR=3,6,9 каждую минуту в определённые часы ( 03:00:00-03:59:00, 06:00:00-06:59:00, 09:00:00-09:59:00)
BYMINUTE Планирование выполнения задания в определенную минуту.
FREQ=MINUTELY; BYMINUTE=30 каждые полчаса
FREQ=HOURLY; BYMINUTE=30 каждые полчаса так как составляющая часа не указывается
FREQ=DAILY; BYMINUTE=30 выполняется каждый день в 00:30 округление будет вестись с точностью до дня
BYSECOND планирования выполнения задания в определенную секунду.
Отрицательное значение какого то ключевого слова означает отсчет от конца (а не от начала) периода.
Например, следующая календарная строка
FREQ=YEARLY; BYYEARDAY= - 1 указывает на первый день года, начиная с его конца.
Поэтому такое задание будет выполняться каждый год 31 декабря.
Примеры календарных строк:
Пусть сегодня 5 июля 2005 года
FREQ=YEARLY будет выполняться 5 июля каждый год, начиная с 2006 в полночь
FREQ=YEARLY; INTERVAL=2 будет выполнено 5 июля в 2007 году, 2009, 2011 и т. д. (через год)
FREQ=YEARLY; BYMONTH=JAN будет выполняться ежегодно 5 января (опять таки в полночь) просто поменялся месяц.
FREQ=YEARLY; BYMONTH=JAN; BYMONTHDAY=2 будет выполняться 2 января 2006 года, 2 января 2007 года и т. д.
FREQ=YEARLY; BYMONTH=JAN; BYDAY=SUN будет выполняться ежегодно каждое воскресенье января
FREQ=YEARLY; BYMONTH=JAN; BYMONTHDAY=2; BYDAY=SUN будет выполняться каждое воскресенье января, если оно выпадет на 2-е число
FREQ=YEARLY; BYYEARDAY=60 выполнение задания каждый 60-й день года
планировщик учел високосность 2008 года: в нем 60-й день выпадает на 29 января В остальных случаях шестидесятым днем года является 1 марта
FREQ=YEARLY; BYYEARDAY=60; BYMONTHDAY=1 Пусть задание выполняется в 60-й день года и в первый день месяца (високосный год будет пропущен)
FREQ=YEARLY; BYWEEKNO=2 выполняться каждый день второй недели года Все семь дней второй недели каждого года
FREQ=DAILY; BYHOUR=3,6,9 выполняется ежедневно ровно в три, шесть и девять часов утра
FREQ=DAILY; INTERVAL=2; BYHOUR=3,6,9 тоже но через два дня Задание выполняется 6 июля ровно в три, шесть и девять часов утра, затем 8 июля
FREQ=DAILY; BYHOUR=3,6,9; BYMINUTE=00,15,30,45 выполняется ежедневно в 3, 6 и 9 часов дня, но в указанные минуты
Комментариев нет:
Отправить комментарий