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

ℹ️ О планировщике

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

Обзор системы

Страница Планировщик заданий показывает все запланированные задания в одном списке. Пользовательские задания выполняют скрипты на выбранных узлах сети, а системные задания запускают встроенные процессы платформы и отображают перевод по типу, если собственное название не задано.

Что видно в списке

  • Пользовательские задания запускают скрипты на выбранных узлах сети по расписанию.
  • Системные задания показывают встроенные задачи платформы и задания резервного копирования.
  • Название сначала берётся из поля задания, а если оно пустое, подставляется перевод типа.
  • Длительность показывает Нет данных, если значения нет, и меньше секунды, если задача уложилась в ноль секунд.
  • Автообновление списка идёт каждые 5 секунд.
⚠️ Важно

Системные задания нельзя удалить. Для них доступно редактирование расписания и части настроек, но вкладка Скрипт и инциденты показывается только у пользовательских заданий.

Интерфейс планировщика

Откройте Администрирование → Автоматизации → Планировщик заданий.

Элементы интерфейса

  • Переключатель в заголовке страницы фильтрует задания по типу: Пользовательские, Системные и Все.
  • Кнопка Добавить задание открывает модальное окно создания.
  • Клик по строке открывает карточку задания для редактирования.
  • Таблица обновляется автоматически и может фильтровать данные по колонкам.
Колонка Описание
Следующий запуск Дата и время следующего запланированного выполнения задания
Предыдущий запуск Дата и время последнего выполнения задания
Длительность последнего выполнения Время, затраченное на последнее выполнение задания
Наименование Название задания, либо перевод типа, если собственное название не задано
💡 Совет

Системные задания показываются с иконкой шестерёнки (), а пользовательские — с иконкой часов ().

Режимы и типы заданий

Режимы расписания

  • Вручную / через API — задание не стартует автоматически и запускается только кнопкой Запустить сейчас или внешним API.
  • Разовое задание — запускается один раз в указанную дату и время; при необходимости можно включить Удалить задание после выполнения.
  • Каждые N секунд — интервальный режим, минимальный интервал 15 секунд.
  • Каждый час — задаётся только минута часа.
  • Каждый день, Каждую неделю и Каждый месяц — работают через cron-выражение, показывают метку UTC и переводят локальное время браузера в cron.
  • Произвольный интервал (минуты) — шаг задаётся в минутах и тоже собирается в cron-выражение.

Поведение формы

  • Вкладка Скрипт и инциденты доступна только для пользовательских заданий.
  • Поля Пропускать при опоздании более чем на (минут) и предпросмотр Cron показываются только для cron-режимов.
  • Для еженедельного режима доступны короткие подписи дней недели: Пн, Вт, Ср, Чт, Пт, Сб, Вс.

Создание пользовательской задачи

Что нужно, чтобы завести задание

  • Доступ к разделу Планировщик заданий и к разделу Скрипты — из второго выбирается скрипт задания.
  • Право Запуск скрипта на каждом узле, который указан в задании. Права выдаются в IDENTYX на карточке пользователя или группы.

Если права на запуск нет хотя бы на одном узле, задание не сохранится и не запустится: в карточке появится сообщение "Нет прав на выполнение скриптов на узлах" с перечислением этих узлов. То же сообщение приходит на кнопку "Запустить сейчас".

Шаг 1: Открытие формы создания

  1. Перейдите на страницу планировщика (/cron)
  2. Нажмите кнопку "Добавить задание" в правом верхнем углу
  3. Откроется модальное окно "Новое задание"

Шаг 2: Заполнение основной информации

Вкладка "Расписание"

Основная информация
  • Наименование — введите понятное название задания. Если поле пустое, в списке будет показан перевод типа.
  • Периодичность — выберите режим из списка: ручной запуск, разовое задание, интервальный запуск или cron-режим.
  • Время следующего запуска — для разового и интервального режима укажите дату и время первого запуска.
  • Интервал в секундах — для интервального режима задайте шаг, минимум 15 секунд.
Выполнение скрипта
  • Скрипт — нажмите Выбрать скрипт.
  • Узлы сети — нажмите Выбрать узлы и укажите несколько узлов, на которых будет выполнен скрипт.
  • Параметры скрипта — после выбора скрипта появятся его параметры; числовые, логические и строковые значения передаются позиционными аргументами командной строки в порядке параметров скрипта.
⚠️ Внимание

Для пользовательских заданий обязательно выбрать как минимум один скрипт и один узел сети. Без этого задание не сохранится.

Шаг 3: Настройка создания инцидентов (опционально)

Автоматическое создание инцидентов

Настройки инцидентов находятся на той же вкладке и используют текущие подписи интерфейса:

Создать инцидент, если не удалось выполнить скрипт или нет ответа
  • Нет — инциденты не создаются.
  • Да — создаётся инцидент, если скрипт не выполнился или не вернул ответ.
Создать инцидент по результату вывода
  • Нет — инциденты не создаются.
  • Совпадает regexp — инцидент создаётся, если вывод совпадает с регулярным выражением.
  • Не совпадает regexp — инцидент создаётся, если вывод не совпадает с регулярным выражением.
Автоматически закрывать инцидент при исправлении
  • Нет — инциденты остаются открытыми.
  • Да — созданный инцидент закроется после восстановления.

Инцидент, у которого назначен исполнитель, автоматически не закрывается — его закрывает человек. Когда условие перестаёт выполняться, в такой инцидент один раз приходит сообщение об этом с выводом команды. Пока по этому узлу и заданию есть незакрытый инцидент, повторные срабатывания условия новых инцидентов не создают.

Услуга для инцидента
  • Системная услуга по умолчанию — используется, если отдельная услуга не выбрана.
  • Выберите услугу в поле Услуга для инцидента. Выбранная услуга определяет приоритет и SLA при создании инцидента.
  • Сбросить на системную услугу — очищает выбор и возвращает системную услугу по умолчанию.

Шаг 4: Сохранение задания

  1. Проверьте все настройки
  2. Нажмите кнопку "Сохранить"
  3. Задание появится в таблице планировщика

Управление заданиями

Редактирование задания

  1. Найдите нужное задание в таблице
  2. Кликните на строку с заданием
  3. Откроется модальное окно редактирования
  4. Внесите необходимые изменения
  5. Нажмите "Сохранить"

Немедленный запуск задания

Кнопка "Запустить сейчас" доступна в карточке задания и ставит запуск в очередь немедленно.

  1. Откройте задание для редактирования (кликните на строку).
  2. Нажмите кнопку "Запустить сейчас" в нижней части окна.
  3. Если у пользовательского скрипта есть параметры, откроется отдельный диалог для их ввода; введенные значения передаются в скрипт позиционными аргументами командной строки.
💡 Совет

Функция немедленного запуска удобна для проверки нового скрипта перед включением расписания или для разового экстренного запуска.

Удаление пользовательского задания

  1. Откройте пользовательское задание для редактирования
  2. Нажмите кнопку "Удалить" в нижней части окна
  3. Подтвердите удаление
⚠️ Важно

Кнопка "Удалить" видна только у пользовательских заданий. Системные задания защищены от удаления, но их расписание можно менять.

Изменение расписания системных заданий

Хотя системные задания нельзя удалить, вы можете менять их расписание и связанные параметры:

  • Интервал или cron-выражение
  • Время следующего запуска для интервальных и разовых задач
  • Дополнительный лимит опоздания для cron-режимов
⚠️ Осторожно

Системные задания влияют на мониторинг, синхронизацию и обслуживание платформы. Слишком большие интервалы задерживают обновление данных, а слишком маленькие увеличивают нагрузку.

Системные задания

Если у задания заполнено поле type, оно попадает в фильтр Системные. Это включает встроенные cron-задачи платформы и задания резервного копирования. Если собственное название не задано, интерфейс показывает перевод типа из локалей.

Встроенные cron-задачи

Текущая подпись Назначение
Проверка доступности узлов сети (пинг)Проверка доступности сети
Удаление устаревших исторических значений метрикОчистка истории мониторинга
Сбор метрик ЦПУ, ОЗУ, дисков, сетейСбор системных метрик
Сбор системной информацииОбновление системных сведений об узлах
Проверка работоспособности агентовКонтроль доступности агентов
Проверка SSL-сертификатовКонтроль сроков действия сертификатов
Проверка напоминаний в тикетахНапоминания по тикетам
Синхронизация пользователей и проектов из IAMСинхронизация с IAM
Автообнаружение установленных приложенийИнвентаризация ПО
Автообнаружение новых узлов сети и сервисовСканирование сети
Установка SSL-сертификатов на агентовРазвёртывание сертификатов
Сбор общей информации с устройств по SNMPSNMP-инвентаризация узлов
Сбор метрик по шаблонам опроса SNMPОпрос SNMP-шаблонов
Выполнение заданий резервного копированияЗапуск backup jobs
Уплотнение дедуплицированных резервных копийОбслуживание pack-хранилища
Синхронизация производственного календаряОбновление календаря выходных
Проверка нарушений SLAКонтроль SLA
Проверка окончания контрактов и лицензий CMDBКонтроль сроков CMDB
Синхронизация узлов сети в CMDBСверка узлов с CMDB
Обнаружение агентов и обновление IP узловОбновление IP-адресов агентов
Обработка запланированных перезагрузокВыполнение отложенных reboot-запросов

Задания резервного копирования

Текущая подпись Назначение
Резервное копирование сетевого устройстваСоздание backup копии узла
Резервное копирование файловПолный backup файлов сервера
Резервное копирование с дедупликациейДедуплицированный backup файлов сервера
Восстановление файловВосстановление файлов сервера
Восстановление файлов (дедупликация)Восстановление из дедуплицированного backup

Мониторинг выполнения

Колонки Предыдущий запуск, Длительность последнего выполнения и Следующий запуск помогают отследить состояние задания без открытия карточки. Для пользовательских заданий после первого запуска появляется вкладка Результаты.

Что показывает вкладка "Результаты"

  • Результаты последнего запуска — заголовок блока; время запуска, к которому относится результат, стоит чипом справа в этом заголовке (или Неизвестно, если времени нет).
  • Результат выполнения — вывод скрипта и служебные данные по узлам.
  • Вкладка отображается только если уже есть сохранённый результат последнего запуска.
ℹ️ Информация

Если длительность выполнения равна нулю, интерфейс показывает < 1 сек. Если значение ещё не сохранено, выводится Нет данных.

Запись в истории задач

Все запуски планировщика сохраняются в Истории заданий. Там можно отфильтровать системные и пользовательские записи, открыть карточку выполнения и посмотреть журнал шага за шагом.

Рекомендации

✅ Лучшие практики

  • Используйте понятные названия — так проще искать задание в списке.
  • Тестируйте через "Запустить сейчас" — это быстрее, чем ждать ближайшего запуска.
  • Выбирайте подходящий режим — для ручных сценариев используйте Вручную / через API, а не дальний Следующий запуск.
  • Не ставьте слишком частые интервалы — минимальный шаг 15 секунд, но на практике лучше оставлять запас.
  • Используйте cron-режимы осознанно — для пропуска опоздавших запусков настройте Пропускать при опоздании более чем на (минут).
  • Настраивайте инциденты только при необходимости — это удобно для критичных скриптов, но не для каждого задания.

⚠️ Чего следует избегать

  • Не меняйте системные задания без причины — они влияют на синхронизацию, мониторинг и обслуживание платформы.
  • Не прячьте разовые сценарии в cron — для одноразового запуска лучше использовать разовое задание или кнопку Запустить сейчас.
  • Не забывайте про узлы и скрипт — пользовательское задание не сохранится без обеих сущностей.
💡 Совет

Если нужно временно остановить автоматический запуск, переключите задание в режим Вручную / через API. Это лучше, чем двигать дату следующего запуска в далёкое будущее.