Работа с *.dt в командной строке ОС Linux(без GUI)

1. ansh15 16.07.19 02:47 Сейчас в теме
Небольшая заметка(на полях).
Просматривая новые возможности версий платформы 8.3.14-8.3.15,
обратил внимание на специальное серверное приложение под названием "автономный сервер".
Подробное описание работы автономного сервера имеется на ИТС.
Но речь не о нем.
Интерес вызвала утилита командной строки ibcmd, которая предназначена для
администрирования автономного сервера. Помимо прочего, эта утилита умеет выполнять две весьма полезные, в ряде случаев, задачи - выгрузку данных из информационной базы в файл *.dt и создание информационной базы с последующей загрузкой в нее данных из *.dt файла.
При этом, утилите ibcmd, для выполнения этих операций, не требуется ни автономного сервера, ни обычного сервера приложений 1С. Вся работа выполняется при прямом подключении утилиты непосредственно к СУБД.

Пример выгрузки в ОС Linux, СУБД PostgreSQL:
#!/bin/sh
#
dbName=test
dtFile=test.dt

/opt/1C/v8.3/x86_64/ibcmd infobase dump --dbms=PostgreSQL\
--db-server=localhost --db-user=postgres --db-pwd=tralala\
--db-name=$dbName $dtFile

exit 0

Пример создания новой ИБ и загрузки в нее данных из *.dt файла:
#!/bin/sh
#
dbName=newtest
dtFile=test.dt

/opt/1C/v8.3/x86_64/ibcmd infobase create --dbms=PostgreSQL\
--db-server=localhost --db-user=postgres --db-pwd=tralala\
--db-name=$dbName --create-database --restore=$dtFile

exit 0

Для работы утилиты ibcmd также не требуется установки и запуска GUI в ОС Linux,
в отличие от толстого клиента в пакетном режиме запуска конфигуратора, в связи с чем
ibcmd может быть полезна при работе в минимальной инсталляции ОС Linux.
magv; gigapevt; dovolos; mailrum2004; gzharkoj; JohnyDeath; vv2; Sedaiko; tormozit; hide2000; +10 Ответить
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Sedaiko 580 20.01.20 07:51 Сейчас в теме
(1) Причем выгружает *.dt "на горячую", без завершения работы пользователей
3. iiwanc 15.11.23 09:39 Сейчас в теме
Здравствуйте!
Для меня это интересное решение, но не выгружается в dt.
Использую:
#!/bin/sh
#
dbName=GU
dtFile=testGU.dt

/opt/1cv8/x86_64/8.3.22.2106/ibcmd infobase dump --dbms=PostgreSQL\
--db-server=localhost --db-user=postgres --db-pwd=пароль\
--db-name=$dbName $dtFile

exit 0
Показать

Появляется сообщение:
Указанный тип СУБД не поддерживается: 'PostgreSQL--db-server=localhost'

Пробую в терминале.
Не подскажите, в чем может быть дело?

Буду благодарен советам.
4. iiwanc 15.11.23 09:49 Сейчас в теме
(1) не совсем пойму, что не нравится скрипту :)
5. ansh15 15.11.23 14:54 Сейчас в теме
(4)Пробелы потерялись, бывает...
Перед --db-server=localhost и --db-name=$dbName
6. iiwanc 16.11.23 06:38 Сейчас в теме
(5) спасибо большое :)
Теперь просит:
Для выполнения операции требуется аутентификация в информационной базе
Имя пользователя:

Не пойму какого пользователя указывать.
Указываю администратора информационной базы. Сообщает, что Идентификация пользователя не выполнена
7. ansh15 16.11.23 11:58 Сейчас в теме
(6)Что-то не совсем верно ввелось, можно добавить в командную строку параметры( до имени файла выгрузки)
--user="Администратор" --password=пароль, тогда не будет спрашивать.
В версиях платформы 8.3.22 и выше еще потребуется параметр, указывающий расположение каталога данных автономного сервера, по умолчанию - --data="/home/пользователь/.1cv8/1C/1cv8/standalone-server/", внутри располагаются различные служебные каталоги.
По ссылке в первом сообщении довольно подробно все расписано. ibcmd help infobase так же дает необходимую информацию о параметрах командной строки.
8. iiwanc 19.03.24 11:18 Сейчас в теме
(7) Здравствуйте :)
Вернулся к данному вопросу. Простите за вопросы нуба :)
#!/bin/sh
#
dbName=test
dtFile=test.dt

/opt/1C/v8.3/x86_64/ibcmd infobase dump --dbms=PostgreSQL\
--db-server=localhost --db-user=postgres --db-pwd=tralala\
--db-name=$dbName $dtFile

exit 0
Показать

В этом коде куда выгружается файл .dt?
9. ansh15 19.03.24 16:07 Сейчас в теме
(8) В тот же каталог, в котором находится и sh-скрипт с этим кодом.
Для приличия можно указать dtFile=./test.dt
Или указать конкретный каталог для выгрузок dtFile=/home/1cdt/test.dt, например.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот