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

В данной статье мы рассмотрим два режима – server и infobase.
- Режим server – настройка автономного сервера.
Предназначен для создания файла конфигурации автономного сервера. - Режим infobase – управление информационными базами.
Предназначен для администрирования баз данных (создание, восстановление, выгрузка и репликация).
Contents
Настройка автономного сервера.
Для начала нужно понять, что такое автономный сервер и чем он может быть полезен.
Автономный сервер – это возможность использования 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) – число потоков загрузки.
Применение
- Создание копии базы на том же сервере (указываем одинаковые параметры source и target).
- Копирование базы на другой сервер СУБД.
- Перенос базы между разными СУБД (например, из MSSQL в PostgreSQL) одной командой.
Параметры —jobs-count и —target-jobs-count позволяют существенно ускорить процесс репликации за счёт многопоточности.
Заключение
Теперь, зная доступные параметры, можно использовать ibcmd не только для ручного администрирования, но и для автоматизации задач через скрипты (bash, PowerShell). Это особенно удобно для:
- создания резервных копий,
- миграции баз между серверами,
- массового обновления и обслуживания баз.
Утилита ibcmd — мощный инструмент, который может заменить ряд операций, выполняемых через сервер 1С или rac, и при этом работать даже на машинах без установленной платформы.

Comments
So empty here ... leave a comment!