Документация: ПО Факел — разрабатываемая версия

Планировщик задач

Обзор

Планировщик задач запускает программы на маршрутизаторе по расписанию: например, сценарий, который сохраняет конфигурацию или собирает диагностические данные. Каждая задача создается узлом system task-scheduler task <task> и содержит расписание, путь к исполняемому файлу и аргументы.

Расписание задачи задается одним из двух способов:

  • параметр interval — интервал запуска: целое число с необязательным суффиксом m (минуты, значение по умолчанию), h (часы) или d (дни). Интервал в минутах запускает задачу каждые N минут; интервал в часах — в начале каждого часа, номер которого кратен N; интервал в днях — в полночь через каждые N дней месяца, начиная с 1-го. Максимальные значения: 60 минут, 24 часа, 31 день;

  • параметр crontab-spec — расписание в формате crontab из пяти полей: минута, час, день месяца, месяц и день недели.

Параметры interval и crontab-spec взаимоисключающие: для каждой задачи нужно задать ровно один из них. Исполняемый файл задает параметр executable path, аргументы — параметр executable arguments. Задача запускается от имени пользователя root с группой vyattacfg, в домашнем каталоге /root. Окружение задачи минимальное: переменная PATH содержит только /usr/bin и /bin, поэтому программы из других каталогов вызывайте по полному пути. Строка аргументов передается командной оболочке вместе с путем к файлу: аргументы разделяются пробелами, а переменные окружения в ней подставляются (например, $HOME превращается в /root). Символ " в строке аргументов недопустим: значение с ним не принимается при вводе (Cannot use the double quote (") character in a value string).

Конфигурация проверяется при применении, и оно завершается ошибкой, если для задачи не задан ни интервал, ни расписание, если заданы оба параметра, если интервал указан в неверном формате или превышает допустимое значение, если путь к исполняемому файлу не задан, файл не существует или не является исполняемым. Если удалить все задачи, расписание очищается.

Команды режима «Администрирование» для планировщика задач не предусмотрены.

Список команд

Режим «Конфигурирование»


system task-scheduler task <task>

Описание:
Создает задачу планировщика. Для задачи нужно задать расписание (параметр interval или crontab-spec) и исполняемый файл (параметр executable path).

Синтаксис:

  • set system task-scheduler task <task>

  • delete system task-scheduler task <task>

  • show system task-scheduler task

Аргументы:

  • <task> — имя задачи. Формат: строка.

Режим: «Конфигурирование».


system task-scheduler task <task> crontab-spec <crontab-spec>

Описание:
Задает расписание запуска задачи в формате crontab: пять полей — минута, час, день месяца, месяц и день недели. Нельзя задать одновременно с параметром interval.

Синтаксис:

  • set system task-scheduler task <task> crontab-spec <crontab-spec>

  • delete system task-scheduler task <task> crontab-spec <crontab-spec>

  • show system task-scheduler task <task> crontab-spec

Аргументы:

  • <task> — имя задачи. Формат: строка.

  • <crontab-spec> — строка расписания в формате crontab. Формат: строка.

Режим: «Конфигурирование».


system task-scheduler task <task> executable arguments <arguments>

Описание:
Задает аргументы, которые передаются исполняемому файлу задачи. Строка разделяется на аргументы по пробелам; переменные окружения в ней подставляются. Символ " недопустим.

Синтаксис:

  • set system task-scheduler task <task> executable arguments <arguments>

  • delete system task-scheduler task <task> executable arguments <arguments>

  • show system task-scheduler task <task> executable arguments

Аргументы:

  • <task> — имя задачи. Формат: строка.

  • <arguments> — строка аргументов. Формат: строка.

Режим: «Конфигурирование».


system task-scheduler task <task> executable path <path>

Описание:
Задает путь к исполняемому файлу задачи. Файл должен существовать и быть исполняемым.

Синтаксис:

  • set system task-scheduler task <task> executable path <path>

  • delete system task-scheduler task <task> executable path <path>

  • show system task-scheduler task <task> executable path

Аргументы:

  • <task> — имя задачи. Формат: строка.

  • <path> — путь к исполняемому файлу. Формат: строка.

Режим: «Конфигурирование».


system task-scheduler task <task> interval <interval>

Описание:
Задает интервал запуска задачи. Нельзя задать одновременно с параметром crontab-spec.

Синтаксис:

  • set system task-scheduler task <task> interval <interval>

  • delete system task-scheduler task <task> interval <interval>

  • show system task-scheduler task <task> interval

Аргументы:

  • <task> — имя задачи. Формат: строка.

  • <interval> — интервал запуска. Формат: целое число с необязательным суффиксом: m — минуты (если суффикс не указан, число считается минутами), h — часы, d — дни. Максимальные значения: 60 минут, 24 часа, 31 день.

Режим: «Конфигурирование».