Top.Mail.Ru
16 декабря 2025
Формат: online
Митап «ТЗ для системных аналитиков: шаблоны, кейсы, практики применения»

Примеры работы с утилитой администрирования ibcmd

В этой статье познакомимся с консольной утилитой, поставляемой компанией 1С — ibcmd. Она доступна как для Windows-версии, так и для Unix-подобных операционных систем. Утилита во многом похожа на rac, но работает автономно и имеет собственные режимы.

Вот возможные режимы работы с данной утилитой.

В данной статье мы рассмотрим два режима – server и infobase.

  • Режим server – настройка автономного сервера.
    Предназначен для создания файла конфигурации автономного сервера.
  • Режим infobase – управление информационными базами.
    Предназначен для администрирования баз данных (создание, восстановление, выгрузка и репликация).

Настройка автономного сервера.

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

Автономный сервер – это возможность использования 1С в связке клиент–сервер без лицензии на сервер 1С. По сути, это «мини-сервер» 1С и web-сервер в одной утилите. Он позволяет подключаться к любым поддерживаемым СУБД (MSSQL, PostgreSQL, Oracle, DB2 и файловые базы). Можно использовать в учебных целях, для тестирования, отладки, но полноценный сервер 1С он все же не заменит.

Подключение возможно через web-клиент. Поддерживается:

  • отладка через HTTP,
  • настройка SSL-подключения,
  • мониторинг через HTTP-запросы.

Запуск автономного сервера выполняется командой:

./ibsrv

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

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

./ibcmd server config init

./ibcmd server config import

  • Первая команда — ручное перечисление всех настроек.
  • Вторая — позволяет задать имя базы, путь к файлу настроек, IP-адрес и порт для подключения через web.

После этого запускаем сервер с указанием файла конфигурации:

./ibsrv —config=<наш созданный файл>


Режим управления информационной базой

Этот режим зачастую даже полезнее предыдущего. С его помощью можно выполнять действия с базами данных без установленной платформы 1С и без запущенного RAS-сервиса.

Общие параметры подключения

./ibcmd infobase —dbms=PostgreSQL —db-server=»servsubd port=5433″ \

—db-name=test —db-user=usersubd —db-pwd=passusersubd

Описание параметров:

  • infobase – режим работы с базами данных.
  • —dbms=PostgreSQL – тип СУБД (поддерживаются PostgreSQL, MSSQLServer, Oracle, DB2 и др.).
  • —db-server=»servsubd port=5433″ – адрес сервера СУБД и порт.
  • —db-name=test – имя базы данных на сервере СУБД (даже если она не зарегистрирована в кластере 1С).
  • —db-user, —db-pwd – логин и пароль пользователя СУБД.

2.1 Создать информационную базу (create)

./ibcmd infobase create —dbms=PostgreSQL \

—db-server=»servsubd port=5433″ —db-name=testdb \

—db-user=usersubd —db-pwd=passusersubd \

—restore=/home/user/test.dt —apply —force

Дополнительные параметры:

  • —restore=<file> – создать базу и загрузить данные из файла .dt.
  • —load=<file> – создать базу и загрузить конфигурацию из файла .cf.
  • —apply – применить обновления конфигурации после загрузки.
  • —force – подтвердить выполнение даже при предупреждениях.

2.2 Выгрузить базу в файл .dt (dump)

./ibcmd infobase —dbms=PostgreSQL \

—db-server=»servsubd port=5433″ —db-name=testdb \

—db-user=usersubd —db-pwd=passusersubd \

dump —user=user —password=pass /home/user/testdb.dt

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

2.3 Загрузка базы из файла .dt (restore)

./ibcmd infobase —dbms=PostgreSQL \

—db-server=»servsubd port=5433″ —db-name=testdb \

—db-user=usersubd —db-pwd=passusersubd \

restore —user=user —password=pass \

—create-database —force \

—session-terminate-message=»Идетзагрузкаданных» \

/home/user/testdb.dt

Новые параметры:

  • —create-database – создание базы на сервере СУБД, если её нет. Если база существует, то команда завершиться с ошибкой.
  • —force – принудительное завершение активных сеансов.
  • —session-terminate-message – сообщение для пользователей при завершении сеансов (работает только с —force).

      2.4 Копирование / репликация базы между серверами СУБД (replicate)

./ibcmd infobase —dbms=PostgreSQL \

—db-server=»servsubd port=5433″ —db-name=testdb \

—db-user=usersubd —db-pwd=passusersubd \

replicate \

—target-dbms=PostgreSQL \

—target-database-server=»servsubd port=5433″ \

—target-database-name=test_copy \

—target-database-user=usersubd \

—target-database-password=passusersubd \

—target-create-database \

—jobs-count=4 —target-jobs-count=4

Параметры:

  • —target-dbms – тип целевой СУБД.
  • —target-database-server – сервер целевой СУБД.
  • —target-database-name – имя целевой базы.
  • —target-database-user, —target-database-password – учётные данные пользователя СУБД.
  • —target-create-database – создать базу, если её нет.
  • —jobs-count (-j) – число потоков выгрузки.
  • —target-jobs-count (-J) – число потоков загрузки.

Применение

  1. Создание копии базы на том же сервере (указываем одинаковые параметры source и target).
  2. Копирование базы на другой сервер СУБД.
  3. Перенос базы между разными СУБД (например, из MSSQL в PostgreSQL) одной командой.

Параметры —jobs-count и —target-jobs-count позволяют существенно ускорить процесс репликации за счёт многопоточности.

Заключение

Теперь, зная доступные параметры, можно использовать ibcmd не только для ручного администрирования, но и для автоматизации задач через скрипты (bash, PowerShell). Это особенно удобно для:

  • создания резервных копий,
  • миграции баз между серверами,
  • массового обновления и обслуживания баз.

Утилита ibcmd — мощный инструмент, который может заменить ряд операций, выполняемых через сервер 1С или rac, и при этом работать даже на машинах без установленной платформы.

Comments

So empty here ... leave a comment!

Добавить комментарий

Sidebar