Как автоматически отключать фоновые и регламентные задания при создании новых баз 1С на сервере?

Системный администратор 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Рассмотри подробно варианты решения этой задачи — от настройки параметров кластера до использования скриптов командной строки и встроенных механизмов БСП.

Вариант 1. Регистрация базы через консоль администрирования кластера серверов

При создании базы через стандартное окно запуска платформы (стартер) платформа по умолчанию создает базу с активными регламентными заданиями. Однако если регистрировать информационную базу через консоль администрирования кластера серверов, флаг блокировки можно установить на этапе создания.

Разберем порядок действий:

  1. Запустим оснастку администрирования кластера серверов «1С:Предприятие» (MMC или Web-консоль).
  2. Откроем ветку нужного кластера, перейдем в раздел Информационные базы и выберем команду создания новой базы.
  3. В открывшемся окне свойств информационной базы установим флаг Блокировка регламентных заданий включена (в объектной модели — свойство ScheduledJobsDenied).
  4. Сохраним настройки и закроем консоль.После этого зарегистрированную базу можно добавить в список баз стартера.

При таком подходе фоновые процессы будут заблокированы с момента первого запуска базы.

Вариант 2. Автоматическое создание баз через утилиту командной строки RAC

Чтобы избежать выполнения ручных операций в консоли, разберем вариант использования утилиты администрирования rac (Remote Administration Client). При скриптовом создании базы с помощью утилиты командной строки можно сразу передать параметр отключения фоновых заданий.

Посмотрим на пример команды создания базы с блокировкой регламентных заданий:


rac infobase create --cluster=<ID_кластера> --name="TestBase" --dbms=MSSQLServer --db-server=SQL_SERVER --db-name="TestBaseDB" --db-user="sa" --db-pwd="password" --scheduled-jobs-deny=on

Ключ --scheduled-jobs-deny=on принудительно включает блокировку выполнения регламентных заданий при регистрации информационной базы в кластере.

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


rac infobase update --cluster=<ID_кластера> --infobase=<ID_базы> --scheduled-jobs-deny=on

Вариант 3. Использование защиты от копирования в Библиотеке Стандартных Подсистем (БСП)

В современных конфигурациях 1С, использующих Библиотеку Стандартных Подсистем (БСП), встроен механизм контроля перемещения и копирования информационных баз.

Выясним, как работает этот алгоритм:

  1. При первом запуске базы после смены имени сервера или имени базы БСП распознает изменение параметров подключения и выводит диалог для пользователя.
  2. Пользователю предлагается выбрать один из вариантов: Информационная база перемещена или Это копия информационной базы.
  3. Если выбрать вариант Это копия информационной базы, система автоматически блокирует регламентные задания и внешние обмены прямо в прикладной конфигурации.

Обратите внимание: данная защита работает только на уровне кода конфигураций с БСП. В нетиповых конфигурациях или старых релизах этот функционал может отсутствовать, поэтому рассчитывать на него как на единственный рубеж защиты на сервере не рекомендуется.

Вариант 4. Ограничение через Правила назначения требований (ПНТ) кластера

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

Для этого разберем настройку Правил назначения требований:

  1. Откроем консоль администрирования кластера и перейдем в раздел Правила назначения требований.
  2. Создадим новое правило назначения требований со следующими параметрами:
    • Объект требования: Фоновые задания.
    • Тип требования: Не назначать.
  3. Назначим это правило для рабочего сервера, выделенного под тестовые или разработочные базы.

При использовании ПНТ фоновые задания не будут запускаться ни в одной базе, работающей на данном рабочем сервере.

Вариант 5. Управление блокировкой через COM-соединение

При использовании скриптов автоматизации (OneScript, PowerShell или VBScript) управление параметрами баз в кластере выполняется через объект V83.COMConnector.

Рассмотрим пример кода на OneScript, который подключается к кластеру и включает параметр ScheduledJobsDenied для нужной информационной базы:


Connector = Новый COMОбъект("V83.COMConnector");
Agent = Connector.ConnectAgent("Server1C");
Clusters = Agent.GetClusters();
Cluster = Clusters[0];
Agent.Authenticate(Cluster, "", "");

Bases = Agent.GetInfoBases(Cluster);
Для Каждого Base Из Bases Цикл
    Если Base.Name = "TestBase" Тогда
        Base.ScheduledJobsDenied = Истина;
        Agent.UpdateInfoBase(Cluster, Base);
    КонецЕсли;
КонецЦикла;

Использование скриптов позволяет полностью автоматизировать администрирование баз данных и гарантировать отключение регламентных заданий при любом способе развертывания.

← На главную