Работа с *.dt в командной строке ОС Linux(без GUI)
Небольшая заметка(на полях).
Просматривая новые возможности версий платформы 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.
Просматривая новые возможности версий платформы 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.
Ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Здравствуйте!
Для меня это интересное решение, но не выгружается в dt.
Использую:
Появляется сообщение:
Указанный тип СУБД не поддерживается: 'PostgreSQL--db-server=localhost'
Пробую в терминале.
Не подскажите, в чем может быть дело?
Буду благодарен советам.
Для меня это интересное решение, но не выгружается в 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'
Пробую в терминале.
Не подскажите, в чем может быть дело?
Буду благодарен советам.
(5) спасибо большое :)
Теперь просит:
Для выполнения операции требуется аутентификация в информационной базе
Имя пользователя:
Не пойму какого пользователя указывать.
Указываю администратора информационной базы. Сообщает, что Идентификация пользователя не выполнена
Теперь просит:
Для выполнения операции требуется аутентификация в информационной базе
Имя пользователя:
Не пойму какого пользователя указывать.
Указываю администратора информационной базы. Сообщает, что Идентификация пользователя не выполнена
(6)Что-то не совсем верно ввелось, можно добавить в командную строку параметры( до имени файла выгрузки)
--user="Администратор" --password=пароль, тогда не будет спрашивать.
В версиях платформы 8.3.22 и выше еще потребуется параметр, указывающий расположение каталога данных автономного сервера, по умолчанию - --data="/home/пользователь/.1cv8/1C/1cv8/standalone-server/", внутри располагаются различные служебные каталоги.
По ссылке в первом сообщении довольно подробно все расписано. ibcmd help infobase так же дает необходимую информацию о параметрах командной строки.
--user="Администратор" --password=пароль, тогда не будет спрашивать.
В версиях платформы 8.3.22 и выше еще потребуется параметр, указывающий расположение каталога данных автономного сервера, по умолчанию - --data="/home/пользователь/.1cv8/1C/1cv8/standalone-server/", внутри располагаются различные служебные каталоги.
По ссылке в первом сообщении довольно подробно все расписано. ibcmd help infobase так же дает необходимую информацию о параметрах командной строки.
(7) Здравствуйте :)
Вернулся к данному вопросу. Простите за вопросы нуба :)
В этом коде куда выгружается файл .dt?
Вернулся к данному вопросу. Простите за вопросы нуба :)
#!/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?
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот