.. _schedulergl: Служба scheduler ================ Общие сведения -------------- Служба scheduler позволяет планировать выполнение скриптов через равные промежутки времени. Настройки данной службы осуществляются на следующем уровне конфигурации: :: [edit service scheduler] Настройка пользователя ---------------------- Для указания учетной записи, от имени которой выполняются скрипты, применяется команда: :: # set script-user |noindent| где ```` – имя существующей учётной записи. Настройка события ----------------- Настройки событий осуществляются на следующем уровне конфигурации: :: [edit service scheduler event ] |noindent| где ```` – строка длиной от 1 до 128 символов. На данном уровне конфигурации доступны следующие настройки: - ``timer `` – указать периодичность выполнения скрипта, где ``w`` – день недели в числовом формате (1 – понедельник, 2 – вторник, и т.д.), ``m`` – число минут от 0 до 59, ``h`` – число часов от 0 до 23, ``d`` – число дней от 1 до 31, ``M`` – число месяцев от 1 до 12, применимы значение ``*``, означающее “любой”, перечисления, диапазоны; - ``script path `` – указать скрипт, ```` – полное имя файла; - ``script args `` – указать аргументы скрипта, где ```` – слова, указанные через пробел. Экранирование пробелов при указании аргументов осуществляется с помощью символа \\ (при этом символ \\ внутри yang также подлежит экранированию). Примеры настройки периодичности выполнения скрипта: - \*:15:10:10,15-17:11 – 10,15,16,17 ноября в 10:15; - 3:\*:\*:\*:\* – каждую среду в 00:00; - 2:\*:12,17:19:9 – 19 августа в 12 и 17 часов, если указанные даты – вторник. Пример настройки события: :: # edit service scheduler # set script-user adm # edit event test # set timer 4:*:*:*:* # set script path /system/scripts/test # set script args "a\\ b" # diff +service { + scheduler { + event test { + timer 4:*:*:*:* + script { + path /system/scripts/test + args "a\\ b" + } + } + } +} Указан единственный аргумент к скрипту – “a b”. Особенности работы ------------------ 1) Время в настройке ``timer`` указывается по стандарту UTC. 2) При указании в настройке ``timer`` несуществующей даты (например, 31 февраля) скрипт никогда не будет выполнен. 3) Если в период выполнения скрипта систем была отключена, скрипт выполняется на следующем тике таймера.