Имя: Пароль:
1C
1С v8
Пакетный запуск конфигуратора в linux без графики
↓ (Волшебник 21.02.2024 20:25)
0 sdemon72
 
21.02.24
10:58
Здравствуйте!
Имеется сервер 1С, установленный на ОС Astra Linux без графической оболочки. Имеется конфигурация СППР, в которой хочу выполнить загрузку метаданных.
В процессе загрузки, на сервере происходит запуск конфигуратора в пакетном режиме - происходит неудачно.
Методом последовательных приближений установили Xvfb, добавили библиотеки libgtk-3 и libsoup-2.4. Сейчас, при попытке запустить конфигуратор, ругается на пустую переменную окружения DISPLAY. Если в консоли сначала прописать export DISPLAY=:99, а затем запустить конфигуратор (в пакетном режиме) - работает.
Пробовали прописать в скрипте службы 1с, в /etc/environment.d, в /etc/profile.d - ничего не помогло. В последнем случае в консоли работает, а при запуске с сервера - нет.
Кто подскажет, как правильно настроить?
1 Biker
 
21.02.24
11:11
не надо конфигуратор, https://its.1c.ru/db/v8314doc/bookmark/adm/TI000000894
2 Garykom
 
21.02.24
11:13
(0) >в консоли работает, а при запуске с сервера - нет

в чем разница между "в консоли" и "с сервера"?
3 Garykom
 
21.02.24
11:17
(1) Ты вероятно про:
7.4.5. Загрузить конфигурацию из файла (*.cf)
Копировать в буфер обмена
ibcmd infobase config load -u ibuser -P 123 --dbms=mssqlserver --db-server=dbServerName --db-user=dbUser --db-pwd=dbUserPassword --db-name=docs-db --data="D:\ss-data\cs-data" --name=docsIB 1Cv8.cf
ibcmd infobase config apply -u ibuser -P 123 --dbms=mssqlserver --db-server=dbServerName --db-user=dbUser --db-pwd=dbUserPassword --db-name=docs-db --name=docsIB --data="D:\ss-data\cs-data" --force
Первая команда выполнит собственно загрузку конфигурации в информационную базу, а вторая ‑ обновит конфигурацию базы данных (с выполнением, при необходимости, реструктуризации базы данных).

Результат выполнения команд:

Копировать в буфер обмена
ibcmd infobase config load …
[ INFO] Загрузка конфигурации...
[ INFO] Загрузка конфигурации успешно завершена
ibcmd infobase config apply …
[ INFO] Обновление конфигурации базы данных...
[ INFO] Проверка корректности метаданных...
[ INFO] Принятие изменений...
[ INFO] Обновление конфигурации базы данных успешно завершено
Следует обратить внимание, что файл выгрузки в данной команде указывается без какого-либо именованного параметра, последним значением в командной строке. Такая же особенность будет у всех команд, которые требуют файл в качестве входного параметра.

Для управления возможностью динамического обновления информационной базы служи параметр --dynamic команды infobase config apply. С помощью этого параметра можно запретить динамическое обновление или, наоборот, принудительно выполнить такое обновление.
4 sdemon72
 
21.02.24
11:32
(2) > в чем разница между "в консоли" и "с сервера"?
Прошу прощения, не ясно выразился.
"В консоли" - подключаюсь по ssh и в командной строке запускаю конфигуратор (строку запуска скопировал в отладчике).
"С сервера" - в конфигурации СППР нажимаю кнопку "Загрузить метаданные".
5 sdemon72
 
21.02.24
11:35
(3) Нет. В СППР (в режиме предприятия) есть функциональность "Загрузить метаданные". При этом сначала запускается конфигуратор в пакетном режиме (выгружает конфигурацию в файлы), затем производится чтение этих файлов и заполнение справочников "Объекты метаданных" и "Реквизиты объектов метаданных". Все это выполняется на стороне сервера 1с.
6 sdemon72
 
21.02.24
11:37
И похожий принцип используется в "1С:ГитКонвертер", его мне тоже придется использовать.
7 sdemon72
 
21.02.24
11:38
(1) А как мне настроить СППР для работы с автономным сервером?
8 Garykom
 
21.02.24
12:26
(5) Надо проверять права от чьего имени сервер 1С работает
9 arsik
 
21.02.24
12:34
(7) А чего с клиентского компа конфигуратор не открывается? Или задача как раз не открывать конфигуратор?
10 Djelf
 
21.02.24
12:55
(0) xpra удобнее, использую для регламентных заданий с 1С 7.7 под wine@etersoft
https://www.altlinux.org/Xpra
https://redos.red-soft.ru/base/server-configuring/remote-control/xpra/
11 Garykom
 
21.02.24
12:58
(4)
"С сервера" - в конфигурации СППР нажимаю кнопку "Загрузить метаданные".

Надо посмотреть в конфе код запуска конфигуратора в пакетном режиме
И возможно переделать на запись команды в пакетный файл (shell script bash/sh) с добавлением нужных "export DISPLAY=:99"
И запуск уже пакетного файла с получением результата
12 sdemon72
 
21.02.24
18:08
(11) Что-то такое и вертелось в голове, да. Буду пробовать...
(8) Кстати да, попробовать зайти через ssh под ним и запустить....
Пасиб за советы
13 sdemon72
 
21.02.24
18:11
(10) Это вроде перенаправление графики, а мне графика не нужна в общем-то, мне эмулятора достаточно.
14 Djelf
 
21.02.24
19:05
(13) Тогда используй эмулатор графики, но не спрашивай почему он не работает.
15 Волшебник
 
21.02.24
20:30
(14) "эмулатор"? Вы серьёзно?!
16 stopa85
 
21.02.24
22:54
(5) так может переменную окружения DISPLAY передать пользователю от которого запущена служба?

Я думаю, что надо в init сериалы её где-то вставить или systemd файлы.
17 Djelf
 
22.02.24
00:03
(15) Какой вопрос (с бредовым утверждением того что требуется), такой и ответ. И это действительно не серьезно.
Но решение в (10) работает уже лет 15.