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

Планировщик задач Cron позволяет выполнять различные задачи согласно заданному расписанию.

Создание задачи

  1. Для создания задачи необходимо ввести следующую команду:

set system task-scheduler task <task> user <user_name>

где <user_name> – имя пользователя от которого создаётся и будет запускаться задача.

Создание и запуск задач в планировщике по умолчанию доступны только пользователю класса NGFW_Super_Administrators. Пользователям других классов для работы с планировщиком задач необходимо выдать права на выполнение команды «set system task-scheduler» (см. раздел «Управление доступом»). Пользователь класса NGFW_Super_Administrators может указать любого активного пользователя в качестве создателя и исполнителя задачи. Пользователи других классов – только себя.

  1. Для установки времени запуска задачи необходимо ввести следующую команду:

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

где:

  • <task> – имя задачи;

  • <spec> – время запуска задачи.

  1. Для настройки параметра <spec> используется стандартный синтаксис сервиса Cron в виде пяти атрибутов «* * * * *», воспринимаемых как:

  • «минуты» – возможно использование значений в диапазоне от «0» до «59»;

  • «часы» – возможно использование значений в диапазоне от «0» до «23»;

  • «число» – возможно использование значений в диапазоне от «1» до «31»;

  • «месяц» – возможно использование значений в диапазоне от «1» до «12»;

  • «дни недели» – возможно использование значений в диапазоне от «0» до «7». Значения от «1» до «6» принимаются как дни недели с «понедельника» до «субботы» соответственно. Значения «0» или «7» принимаются как «воскресенье».

Поля могут содержать одно или несколько значений, разделённых запятыми, или диапазон значений, разделённых дефисом. Существует возможность указать шаг, используя символ «/». Например, при указании атрибутов следующим образом: «* */2 * * *» – задача будет выполняться каждые два часа.

В качестве примера приведена команда для настройки выполнения задачи «Task1» ежедневно в 07:00 и 18:00:

set system task-scheduler task Task1 crontab-spec '00 07,18 * * *'
  1. Для настройки интервала запуска задачи возможно применение параметра «interval»:

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

где <interval> – интервал времени, в течение которого задача должна быть выполнена. Задаётся в виде числа с одним из следующих суффиксов: «m» – минуты, «h» – часы, «d» – дни. В случае ввода значения без суффикса, интервал воспринимается в минутах.

  1. Для указания скрипта, запускаемого по расписанию, необходимо ввести следующую команду c параметром «executable path»:

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

где <path> – путь к скрипту и имя файла. В директории «/usr/local/bin/» расположены следующие скрипты:

  • «ngfwos-export» – выполняет сохранение текущей активной конфигурации;

  • «ngfwos-pki-crl-update» – выполняет автоматическое обновление списка отзыва сертификатов.

  1. Для установки параметров скрипта необходимо ввести следующую команду:

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

где <args> – параметр скрипта.

Примечание

Создание и редактирование скриптов возможно выполнять с помощью какого-либо текстового редактора, например «nano».

  1. Для выключения задачи с сохранением конфигурации необходимо ввести следующую команду:

set system task-scheduler task <task> disable

Например, для создания задачи «CrlUpdate» по автоматическому обновлению списка отзыва сертификатов необходимо ввести следующие команды:

set system task-scheduler task CrlUpdate user admin
set system task-scheduler task CrlUpdate executable arguments 'example-ca'
set system task-scheduler task CrlUpdate executable path '/usr/local/bin/ngfwos-pki-crl-update'
set system task-scheduler task CrlUpdate interval '1m'

В результате будет ежеминутно обновляться список отзыва сертификатов удостоверяющего центра «example-ca».

Просмотр информации о задачах

Для просмотра информации о всех задачах планировщика (см. Рисунок – Задачи планировщика) необходимо ввести следующую команду:

show system task-scheduler all
../../../../../_images/ngfw.r.cli.system.task-scheduler_2.1.png

Рисунок – Задачи планировщика

В результате будет выведена информация в виде таблицы, содержащей следующие столбцы:

  • «Name» – имя задачи планировщика;

  • «Status» – статус задачи;

  • «Launch type» – тип запуска;

  • «Interval/spec» – интервал/время;

  • «Previous launch» – время предыдущего запуска;

  • «Next launch» – время следующего запуска;

  • «Launch status» – результат предыдущего выполнения;

  • «Author» – имя УЗ пользователя, создавшего задачу;

  • «Run as user» – имя УЗ пользователя, от прав которого инициировано выполнение задачи.

Для просмотра информации о какой-либо задаче планировщика необходимо ввести следующую команду:

show system task-scheduler task <task>