Библиотека (oscript) irac предоставляет интерфейс управления кластером серверов 1С:Предприятие 8 с использованием утилиты администрирования кластера (RAC).
Библиотека подключается, как отдельный класс и используется для вызова команд утилиты RAC для взаимодействия с одним экземпляром сервера администрирования кластера 1С.
В некоторых случаях консольная утилита RAC может выводить результат в некорректной кодировке.
Для указания кодировки можно использовать переменную среды RAC_ENCODING. Возможные значения OEM, ANSI, UTF8. По умолчанию используется кодировка UTF8.
В известных случаях для Windows проблему устраняет установка кодировки в значение OEM.
#Использовать irac
Админ = Новый Структура();
Админ.Вставить("Администратор", "admin");
Админ.Вставить("Пароль", "P@$$w0rd");
Админка = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);
Кластеры = Админка.Кластеры();
// Обходим список кластеров
Для Каждого Кластер Из Кластеры.Список() Цикл
Сообщить(Кластер.Получить("Имя"));
КонецЦикла;
// Кластер.УстановитьАдминистратора("<admin>", "<pwd>"); // - указывается если задан администратор кластера
Серверы = Кластер.Серверы();
// Обходим список серверов
Для Каждого Сервер Из Серверы.Список() Цикл
Сообщить(Сервер.Имя() + " (" + Сервер.АдресСервера() + ":" + Сервер.ПортСервера() + ")");
Для Каждого ТекАтрибут Из Серверы.ПараметрыОбъекта().ОписаниеСвойств() Цикл
Сообщить(ТекАтрибут.Ключ + " : " + Сервер.Получить(ТекАтрибут.Значение.Имя));
КонецЦикла;
КонецЦикла;
ИБ = Кластер.ИнформационныеБазы();
Сообщить("Всего ИБ: " + ИБ.Список().Количество());
// Обходим список информационных баз
Для Каждого ТекИБ Из ИБ.Список() Цикл
Сообщить(ТекИБ.Имя() + " (" + ?(ТекИБ.ПолноеОписание(), "Полное", "Сокращенное") + " " + ТекИБ.Описание() + ")");
Для Каждого ТекАтрибут Из ИБ.ПараметрыОбъекта().ОписаниеСвойств() Цикл
Сообщить(ТекАтрибут.Ключ + " : " + ТекИБ.Получить(ТекАтрибут.Значение.Имя));
КонецЦикла;
КонецЦикла;
#Использовать irac
Админ = Новый Структура("Администратор, Пароль", "agentAdmin", "P@$$w0rd");
Управление = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);
Кластер = Управление.Кластеры().Список()[0];
Кластер.УстановитьАдминистратора("clusterAdmin", "P@$$w0rd");
// Получение ИБ по имени
ИБ = Кластер.ИнформационныеБазы().Получить("MyAwesomeDatabase");
ИБ.УстановитьАдминистратора("Администратор", "P@$$w0rd");
// Установка блокировки начала сеансов с базой
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("НачалоБлокировкиСеансов" , Дата(20010101));
ПараметрыИБ.Вставить("ОкончаниеБлокировкиСеансов", Дата(20991231));
ПараметрыИБ.Вставить("СообщениеБлокировкиСеансов", "База заблокирована до особых распоряжений");
ПараметрыИБ.Вставить("КодРазрешения" , "SuperSecretKey");
ПараметрыИБ.Вставить("БлокировкаСеансовВключена" , Перечисления.СостоянияВыключателя.Включено);
ИБ.Изменить(ПараметрыИБ);
// Снятие блокировки начала сеансов с базой
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("БлокировкаСеансовВключена" , Перечисления.СостоянияВыключателя.Выключено);
ИБ.Изменить(ПараметрыИБ);
#Использовать irac
Админ = Новый Структура("Администратор, Пароль", "agentAdmin", "P@$$w0rd");
Управление = Новый УправлениеКластером1С("8.3", "localhost:1545", Админ);
Кластер.УстановитьАдминистратора("clusterAdmin", "P@$$w0rd");
// Получение ИБ по имени
ИБ = Кластер.ИнформационныеБазы().Получить("MyAwesomeDatabase");
ИБ.УстановитьАдминистратора("Администратор", "P@$$w0rd");
// Установка блокировки регламентных заданий
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("БлокировкаРегламентныхЗаданийВключена" , Перечисления.СостоянияВыключателя.Включено);
ИБ.Изменить(ПараметрыИБ);
// Снятие блокировки регламентных заданий
ПараметрыИБ = Новый Структура();
ПараметрыИБ.Вставить("БлокировкаРегламентныхЗаданийВключена" , Перечисления.СостоянияВыключателя.Выключено);
ИБ.Изменить(ПараметрыИБ);
УправлениеКластером1С
|-Администраторы
|-Кластеры
|-Администраторы
|-МенеджерыКластера
|-Серверы
| |-ТребованияНазначения
|-РабочиеПроцессы
| |-Лицензии
|-ИнформационныеБазы
|-Сервисы
|-Сеансы
|-Соединения
| |-Лицензии
|-Блокировки
|-ПрофилиБезопасности
|-СчетчикиПотребленияРесурсов
Основной класс библиотеки. Предоставляет интерфейс управления серверами 1С.
Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
Параметры конструктора | ||
---|---|---|
ВерсияИлиПутьКRAC | Строка | маска версии 1С или путь к утилите RAC |
СтрокаПодключенияСервиса | Строка | адрес:порт сервиса агента администрирования (RAS) (по умолчанию: "localhost:1545") |
Администратор | Структура | параметры администратора агента сервера 1С |
- Администратор | Строка | имя администратора агента сервера 1С |
- Пароль | Строка | пароль администратора агента сервера 1С |
Методы | ||
---|---|---|
СтрокаПодключения() | Строка | возвращает строку параметров подключения к агенту администрирования (RAS) |
СтрокаАвторизации() | Строка | возвращает строку параметров авторизации на агенте кластера 1С |
УстановитьАдминистратора(Администратор, Пароль) | устанавливает параметры авторизации на агенте кластера 1С | |
ИсполнительКоманд() | ИсполнительКоманд | возвращает текущий объект-исполнитель команд |
УстановитьИсполнительКоманд(НовыйИсполнитель) | устанавливает объект-исполнитель команд | |
ОписаниеПодключения() | Строка | возвращает строку описания подключения к серверу администрирования кластера 1С |
Администраторы() | АдминистраторыАгента | возвращает список администраторов агента кластера 1С |
Кластеры() | Кластеры | возвращает список кластеров 1С |
ВыполнитьКоманду(ПараметрыКоманды) | Число | передает команду в объект-исполнитель команды и возвращает код возврата команды |
ВыводКоманды() | Массив(Соответствие) | возвращает вывод команды из объекта-исполнитель команд |
Вспомогательный объект для выполнения команд. Непосредственно вызывает утилиту RAC.
Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
УправлениеКластером.УстановитьИсполнительКоманд(Новый ИсполнительКоманд("8.3"));
Параметры конструктора | ||
---|---|---|
ВерсияИлиПутьКRAC | Строка | маска версии 1С или путь к утилите RAC |
Методы | ||
---|---|---|
ВерсияRAC() | Строка | возвращает версию утилиты RAC |
ПутьКRAC() | Строка | возвращает путь к утилите RAC |
УстановитьПутьКRAC(Путь) | устанавливает переданный путь к утилите RAC | |
ВыполнитьКоманду(ПараметрыКоманды) | Массив(Соответствие) | выполняет команду и возвращает код возврата |
ВыводКоманды(РазобратьВывод) | Строка/Массив(Соответствие) | возвращает вывод команды |
КодВозврата() | Число | возвращает код возврата выполнения команды |
Объект предоставляет доступ к списку кластеров, доступных для администрирования.
Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
СписокКластеров = Новый Кластеры(УправлениеКластером);
Админ = Новый Структура("Администратор, Пароль", "admin", "P@ssw0rd")
УправлениеКластером = Новый УправлениеКластером1С("8.3.10", "localhost:1545", Админ);
СписокКластеров = УправлениеКластером.Кластеры();
Параметры конструктора | ||
---|---|---|
АгентКластера | УправлениеКластером1С | ссылка на родительский объект агент кластера |
Методы | ||
---|---|---|
ОбновитьДанные(РежимОбновления) | обновляет список кластеров вызывая утилиту RAC | |
ПараметрыОбъекта() | Соответствие | список параметров объекта кластера |
Список(Отбор, РежимОбновления) | возвращает список кластеров, соответствующих отбору | |
ВыполнитьКоманду(ПараметрыКоманды) | Массив(Соответствие) | выполняет команду и возвращает код возврата |
ВыводКоманды(РазобратьВывод) | Строка/Массив(Соответствие) | возвращает вывод команды |
КодВозврата() | Число | возвращает код возврата выполнения команды |