1c ras rac команды

Обновлено: 04.07.2024

  • ALT p8 starter kit (Hypericum), sysv
  • ALT p9 starter kit (Hypericum), sysv и systemd

Включение сервера удалённого администрирования позволяет получить полный доступ к управлению кластером 1С:Предприятия 8 без необходимости обращения к оснастке MMC "Администрирование сервера 1С предприятия" (файл *.msc)

RAS поставляется 1С в составе пакета 1C_Enterprise83-server, далее предполагается что он уже установлен и и кластер запущен. Для получения доступа к управлению кластером необходимо обеспечить запуск /opt/1C/v8.3/x86_64/ras с соответствующими опциями согласно документации 1С. Опции запуска также можно получить по команде /opt/1C/v8.3/x86_64/ras --help

Сервер удалённого администрирования может быть запущен как в режиме приложения, так и в режиме демона. 1С не поставляет готового решения для запуска ras в режиме демона, как это сделано для srv1cv83, такую настройку предстоит провести самостоятельно. Репозиторий Sisyphus предлагает для этой цели пакет ras1c

В процессе установки пакет записывает файл скрипта инициализации /etc/init.d/ras1c, производит регистрацию сервиса аналогично команде chkconfig ras1c on и далает попытку запуска демона ras.

Если установка и запуск прошли успешно, получить доступ к функциональности 1C RAS можно как минимум двумя способами:

Для обращения к RAS c командной строки предназначен компонент /opt/1C/v8.3/x86_64/rac. Так, команда

если всё хорошо, выдаёт перечень кластеров с основными параметрами (cluster, host, port, name и так далее). Ознакомиться с возможностямии режима командной строки можно командой

или из документации 1С.

Начиная с ветки 8.3.15 платформы 1С:Предприятие, обратиться к RAS можно посредством меню Все функции. - Стандартные - Управление серверами. Меню это присутствует в любом запущенном экземпляре приложения даже при пустой конфигурации (ИБД без конфигурации) прикладного решения. По умолчанию меню Все функции. не отображается. Чтобы оно стало доступно, следует предварительно установить соответствующую опцию в меню Настройки - Параметры, на панели внизу. Возможности данного интерфейса полностью соответствуют функциональности Консоли управления кластером под Windows.

Управлять кластером серверов 1С:Предприятие версии 8.3 возможно как с помощью консоли администрирования серверов 1С, так и из командной строки. Для этих целей служит Сервер администрирования кластера серверов, который состоит из двух утилит: непосредственно самого сервера — программы ras.exe и утилиты командной строки rac.exe, которая обращаясь к запущенному прежде серверу ras позволяет выполнять различные операции с кластером серверов 1С:Предприятия.

Подробно про данный механизм можно прочитать в поставляемой вместе с платформой книге «Руководство администратора. Клиент-серверный вариант» (или, соответственно, на сайте ИТС).

А общая схема работы данной связки выглядит следующим образом:


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

И сервер администрирования и утилита командной строки могут работать в любой поддерживаемой платформой 1С:Предприятия ОС. Но в данной статье мы ограничимся только ОС семейства Windows.

2. Установка компонент сервера администрирования

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

Чтобы убедиться в этом, достаточно перейти в каталог с файлами сервера 1С:Предприятия и найти в нем соответствующие утилиты (для удобства файлы можно сгруппировать по типу).


Подробно про установку сервера 1С:Предприятия я писал здесь.

Для установки сервера администрирования на компьютере, где ранее не был установлен сервер 1С:Предприятия, необходимо запустить дистрибутив установки сервера 1С и в составе компонент выбрать пункт «Сервер 1С:Предприятия 8».


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


После установки необходимо убедиться в наличии всех необходимых компонент описанным выше способом.

3. Запуск сервера администрирования

Для получения подробной информации по утилите ras.exe можно вызвать справку выполнив команду


Из справки видно, что сервер администрирования может работать как в режиме приложения, так и как служба Windows (параметр service). Также мы можем задать сетевой порт, на котором будет работать сервер администрирования (параметр port, по умолчанию используется порт 1545), а для режима администрирования кластера используется режим claster. Вызвать справку к данному режиму можно командой:

После чего увидим, что у данного режима в качестве аргумента указывается адрес агента кластера серверов 1С:Предприятия. По умолчанию это localhost:1540.


Таким образом, если сервер администрирования запускается на той же машине, где запущен и агент сервера 1С:Предприятия, достаточно выполнить команду

Ну а если необходимо подключиться к агенту сервера, запущенном, например, на компьютере с сетевым именем Server1C, причем агент работает на нестандартном порту 2540, то команда будет следующей:

4. Запуск сервера администрирования в качестве службы Windows

Конечно же, чтобы не запускать сервер администрирования каждый раз руками, удобно запустить его единожды в качестве службы Windows. Но, к сожалению, разработчики платформы не реализовали возможность автоматической регистрации соответствующей службы в системе, как, например, это сделано для агента сервера 1С. Для добавления службы предлагается воспользоваться системной утилитой sc. Давайте рассмотрим этот процесс чуть более детально.

Для начала, я рекомендую для создаваемой службы создать отдельного пользователя Windows. Подробно как это сделать я описывал здесь.

Пусть это будет локальный пользователь с именем USR1CV8_RAS и паролем Pass123

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

В файле указываем:

  • Имя пользователя и пароль из под которого будет запускаться служба — переменные SrvUserNameи SrvUserPwd
  • Адрес и порт агента сервера, который мы собираемся администрировать — переменные AgentNameи CtrlPort
  • А также имя службы и сетевой порт на котором будет работать сервер администрирования — переменные RASPortи SrvcName. Имеет смысл менять эти параметры только если вы хотите запустить параллельно несколько серверов администрирования, например для обслуживания разных серверов 1С.


В качестве единственного параметра bat-файла выступает текущая версия платформы 1С:Предприятия. Таким образом, для создания службы запускаем командную строку с правами администратора и запускаем созданный ранее файл register-ras.bat, не забыв указать нужную версию платформы.


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


На этом установка сервера администрирования в качестве службы завершена.

5. Администрирование кластера серверов с помощью утилиты rac.exe

Итак, сервер администрирования мы установили. Взаимодействием с сервером осуществляется с помощью специальной консольной утилиты rac.exe. Выполним команду

чтобы получить справку данной программы.


Как видно из справки, утилита имеет один общий аргумент, задающий адрес сервера администрирования (по умолчанию localhost:1545) и множество режимов работы: для администрирования агента кластера серверов, самого кластера, менеджера кластера, рабочих процессов и т. д. Справку по каждому режиму можно вызвать соответствующей командой.


Описывать все режимы работы, очевидно, нет никакого смысла. Приведу лишь несколько примеров работы.

Получение списка информации о кластерах:


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


Получение списка соединений с указанной информационной базой:


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

6. Программные обертки для работы с сервером администрирования

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

Например, среди прочего, работать с сервером администрирования может написанная на языке OneScript программа deployka.

О скиптовом движке OneScript я уже рассказывал здесь.

О программе deployka можно подробнее узнать здесь.

Ну а максимально полный обзор всех имеющихся библиотек и приложений написанных на OneScript приведен в этой замечательной статье.

7. Установка и работа с программой deployka

Алгоритм установки OneScript и deployka довольно подробно разобран в статьях по ссылкам, указанным в предыдущем пункте. Ну а если коротко, он состоит из следующих действий:

1. Скачиваем дистрибутив OneScript с официального сайта.

2. Устанавливаем, следуя инструкциям мастера.

3. Перелогиниваемся в системе, чтобы применились новые переменные среды.

4. Запускаем командную строку с правами администратора, проверяем, что предыдущие пункты выполнены корректно командной


5. Устанавливаем программу deployka с помощью пакетного менеджера opm, выполнив команду


6. Проверяем, что все работает, вызвав справку «деплойки» командой


7. Вот в общем то и все. Все режимы работы программы видны на экране. Далее читаем справку на сайте или в консоли, вызывав подсказку для каждого режима соответствующей командой:


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


8. Теперь можно использовать «деплойку» в своих скриптах. Например скрипт обновления информационной базы из хранилища, с отключением пользователей и обновлением базы данных может выглядеть так:

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

Реализовано в версии 8.3.14.1565.

Мы повысили отказоустойчивость кластера серверов и реализовали возможность администрирования кластера из встроенного языка.

Отказоустойчивость сервиса фоновых заданий

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

Раньше в такой аварийной ситуации работа пользователей с фоновыми и регламентными заданиями могла быть прервана. Например, клиентское приложение могло «зависнуть», если в этот момент оно ожидало завершения каких-либо фоновых заданий. Другое проявление проблемы (аварийной ситуации) заключалось в том, что в течение одной минуты выполнение регламентных заданий было невозможно до тех пор, пока информация о них не будет заново считана из информационных баз.

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

Администрирование из встроенного языка

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

Во-первых, это интерактивная Windows-утилита администрирования, реализованная в виде консоли управления Microsoft (Microsoft Management Console).

Во-вторых, это программный интерфейс кластера, доступный во встроенном языке через технологию COM (Component Object Model). Технология COM используется в операционных системах Microsoft Windows.

В-третьих, для обеспечения кроссплатформенности были реализованы сервер администрирования кластера (ras) и утилита командной строки (rac) для взаимодействия с этим сервером. Это кроссплатформенные инструменты, которые могут работать в операционных системах Microsoft Windows и Linux. Однако они не имеют графического интерфейса.

В-четвертых, для создания приложений, администрирующих кластер, был реализован программный Java-интерфейс, который представляет собой набор Java-пакетов. Он позволяет взаимодействовать с сервером администрирования (ras) из программы на языке Java, без помощи консольной утилиты администрирования (rac).

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

Кроме этого перечисленные инструменты имели чисто технические недостатки, затруднявшие их использование. Например, Windows-утилита администрирования не позволяет работать с кластерами разных версий, каждый раз необходимо было перерегистрировать библиотеку в операционной системе. Интерфейсы, использующие COM и Java, не имеют перечислений, поэтому, например, вместо понятных значений «Незащищенное», «ЗащищенноеПриУстановкеСоединения» и «Защищенное» приходилось обрабатывать цифровые значения 0, 1 и 2, по справке определяя, какому уровню безопасности соединения они соответствуют.

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

Теперь прямо из клиентского приложения 1С:Предприятия вы можете передавать управляющие команды кластеру серверов 1С:Предприятия через сервер администрирования (ras), а также получать обратно информацию о структуре и состоянии кластера. Из одного клиентского приложения вы можете одновременно администрировать кластеры разных версий.

Основу нового программного интерфейса составляет объект АдминистрированиеСервера, который позволяет вам установить соединение с агентом центрального сервера, выполнить аутентификацию, а также получить доступ к кластерам и администраторам центрального сервера. В каждом кластере вы имеете доступ к информационным базам, рабочим серверам, администраторам, менеджерам кластера, рабочим процессам, сеансам, блокировкам, соединениям, профилям безопасности, счетчикам потребления ресурсов и ограничениям потребления ресурсов. Все они описываются соответствующими объектами с приставкой «Администрирование», например, АдминистрированиеИнформационнаяБаза, АдминистрированиеРабочийСервер и так далее.

Далее приведен небольшой пример, завершающий все сеансы работы пользователей, например, для выполнения административных действий.

Этот пример, помимо прочего, демонстрирует еще одно преимущество нового программного интерфейса. За счет перехода к объектной модели новый интерфейс имеет более простые и короткие команды:

Агент = Новый АдминистрированиеСервера(АдресСервераRAS, 1545); Агент.ВыполнитьАутентификацию(Пользователь, Пароль); // Перебрать все кластеры. Кластеры = Агент.ПолучитьКластеры(); Для Каждого Кластер Из Кластеры Цикл Кластер.ВыполнитьАутентификацию(ПользовательКластера, ПарольПользователяКластера); // Перебрать все счетчики потребления ресурсов. Счетчики = Кластер.ПолучитьСчетчикиПотребленияРесурсов(); Для Каждого Счетчик Из Счетчики Цикл Сообщить("Имя счетчика: " + Счетчик.Имя); Сообщить("Описание: " + Счетчик.Описание); // Перебрать все значения счетчика. ЗначенияСчетчика = Счетчик.ПолучитьЗначения(); Для Каждого Значение Из ЗначенияСчетчика Цикл Сообщить("Длительность вызова = " + Значение.ДлительностьВызова); Сообщить("Процессорное время = " + Значение.ПроцессорноеВремя); Сообщить("Потребление памяти = " + Значение.ПотреблениеПамяти); . КонецЦикла; КонецЦикла; // Создать новый счетчик потребления ресурсов. Счетчик = Кластер.СоздатьСчетчикПотребленияРесурсов(); Счетчик.Имя = "Счетчик1"; Счетчик.ДлительностьНакопления = 10000; Счетчик.СчитатьДлительностьВызовов = Истина; Счетчик.ТипОтбора = АдминистрированиеТипОтбораСчетчикаПотребленияРесурсов.Все; . Счетчик.Записать(); КонецЦикла ;

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

Vanessa Deployment Engine

Развертывание конфигураций 1С на целевой базе 1С.

  • help - Вывод справки по параметрам
  • loadcfg - Загрузка/обновление конфигурации
  • loadrepo - Обновить из хранилища подключенную базу
  • session - Управление сеансами информационной базы
  • dbupdate - Обновление конфигурации базы данных
  • run - Управление запуском в режиме предприятия

Для подсказки по конкретной команде наберите help <команда>

session - Управление сеансами информационной базы

loadcfg - Загрузка/обновление конфигурации

  • <СтрокаПодключения> - Строка подключения к рабочему контуру
  • <ПутьДистрибутива> - Путь к дистрибутиву в виде каталога версии
  • /mode - Режим обновления:
  • -auto - Сначала искать CFU, потом CF
  • -cf - Использовать только CF
  • -cfu - Использовать только CFU
  • -load - Полная загрузка конфигурации
  • -skip - Не выполнять обновление
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.

loadrepo - Обновить из хранилища подключенную базу

  • <СтрокаПодключения> - Строка подключения к рабочему контуру
  • <АдресХранилища> - Путь или сетевой адрес хранилища 1С
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -storage-user - Пользователь хранилища конфигурации
  • -storage-pwd - Пароль пользователя хранилища конфигурации
  • -storage-ver - Версия (номер) закладки в хранилище - необязательно
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.
  • -uccode - Ключ разрешения запуска

dbupdate - Обновление конфигурации базы данных

  • <СтрокаПодключения> - Строка подключения к рабочему контуру
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.
  • -uccode - Ключ разрешения запуска
  • -allow-warnings - Разрешить предупреждения
  • -dynamic - Динамическое обновление конфигурации

run - Управление запуском в режиме предприятия

  • <СтрокаПодключения> - Строка подключения к рабочему контуру
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.
  • -uccode - Ключ разрешения запуска
  • -command - Строка передаваемя в ПараметрыЗапуска, /C''
  • -execute - Путь обработки для запуска
  • -log - Полное имя файла для записи лога работы Предприятия, /Out

disablesupport - Снять базу данных с поддержки

  • <СтрокаПодключения> - Строка подключения к рабочему контуру
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.
  • -uccode - Ключ разрешения запуска
  • -force - Принудительное выполнение

unbindrepo - Отключить конфигурацию от хранилища. Приводит в появлению ключа запуска Конфигуратора /ConfigurationRepositoryUnbindCfg -force

  • <СтрокаПодключения> - Строка подключения к рабочему контуру
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.
  • -uccode - Ключ разрешения запуска

info - Получение информации о базе данных (выводится в консоль выполнения скрипта).

Может применяться для проверки работы RAS/RAC.

  • -ras - Сетевой адрес RAS, по умолчанию localhost:1545
  • -rac - Команда запуска RAC, по умолчанию находим в каталоге установки 1с
  • -db - Имя информационной базы
  • -db-user - Пользователь информационной базы
  • -db-pwd - Пароль пользователя информационной базы
  • -cluster-admin - Администратор кластера
  • -cluster-pwd - Пароль администратора кластера
  • -v8version - Маска версии платформы 1С
  • -v8bitness - Маска разрядности платформы 1С . Требуется указание -v8version.

scheduledjobs - Управление сеансами/регламентами информационной базы

Читайте также: