1С выгрузка и загрузка базы из командной строки (Ubuntu 18.04)

1С выгрузка и загрузка базы из командной строки (Ubuntu 18.04)

Допустим у нас есть установленный сервер 1С на линуксе без графической оболочки, и мы хотим выгружать базу в .dt прямо на этом сервере 1С используя только командную строку, либо загружать базу на сервер из .dt файла.

Для этого нам нужно:

установить клиент 1С. Устанавливаем зависимости и xvfb:

apt install -y libwebkitgtk-1.0-0 xvfb # для платформы ниже 8.3.12
apt install -y libwebkitgtk-3.0-0 xvfb # для платформы начиная с 8.3.12 
apt install -y libwebkitgtk-1.0-0:i386 xvfb # для платформы ниже 8.3.12
apt install -y libwebkitgtk-3.0-0:i386 xvfb # для платформы начиная с 8.3.12

В X Window System, Xvfb — это X11 сервер, который выполняет все графические операции в памяти без вывода на экран. С точки зрения клиента он действует так же, как любой другой сервер, обслуживающий запросы и отправки события и ошибки по мере необходимости.

Скачать дистрибутив клиента 1С для Linux можно с этого сайта. Скачать нужно <Клиент 1С:Предприятия для DEB-based Linux-систем> нужной разрядности.

Устанавливаем клиент 1С:

tar xvf client_8_3_14_1630.deb32.tar.gz  # тут ваша версия и разрядность клиента
dpkg -i 1c-enterprise83-client*.deb

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

xvfb-run -a ./run1c.sh

Теперь нужно разработать два скрипта, для выгрузки базы и для загрузки.

Скрипт выгрузки

#!/bin/bash
/opt/1C/v8.3/i386/1cv8 CONFIG /DumpIB test.dt /Out out.log /S 127.0.0.1\\test /N admin /P 123 /DumpResult result.log

Разберем его:

/opt/1C/v8.3/i386/1cv8 - запускаемое приложение; CONFIG - используем конфигуратор; /DumpIB test.dt - выгружаем базу в файл test.dt; /Out out.log - файл лога; /S 127.0.0.1\test - путь клиент серверной базы; /N admin /P 123 - имя пользователя и пароль информационной базы; /DumpResult result.log - результат выполнения (0 - удачно, 1 неудачно). Если что-то пойдет не так, посмотрите файлы test.out и test.result, в них будет записана информация о происходящем, например <Не найдена лицензия>, или <Пользователь ИБ не идентифицирован>.

Скрипт загрузки

#!/bin/bash
/opt/1C/v8.3/i386/1cv8 CONFIG /RestoreIB test.dt /Out out.log /S 127.0.0.1\\test /N admin /P 123 /DumpResult result.log

Как вы могли заметить изменился только 1 параметр:

/RestoreIB test.dt - загружаем базу из файла test.dt. Дополнительно про работу 1С в командной строке и про пакетный режим можно почитать тут: https://infostart.ru/public/153871/#14, но в этой статье описана работа на ОС Windows.

Спасибо за внимание!

Last updated on 4th Feb 2023