загрузка CF на сервере Linux через командную строку

1. spezc 787 07.08.17 18:10 Сейчас в теме
Коллеги, добрый день.

В наличии:
1С 8.3.10.2299 x32
Ubuntu 16.04.3 x32
PostgreSQL 9.3.4

С помощью команды добавил базу "s1":
rac infobase create --create-database --name=s1 --dbms=PostgreSQL --db-server=1cl32 --db-name=s1 --locale=en_US
--db-user=postgres --db-pwd=pass --descr='test base for testing' --cluster=cac51206-7b70-11e7-558a-001c4281f7fc


Как в эту базу загрузить CF? Команда типа
/opt/1C/v8.3/i386/1cv8 DESIGNER /S1cl32\s1 /LoadCfg/install/cf/UNF_1_6_10_55.cf
вызывает окно 1С с предложением добавить базу в список ИБ (выполняю команду через терминал в графическом интерфейсе).

Ведь есть же команда загрузки-выгрузки CF или базы на Linux-е у которого нет графического интерфейса? Или например при подключении к серверу через SSH?
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
17. Infactum 317 17.08.17 05:51 Сейчас в теме +10 $m
(16) А в (15) по вашему что, не агент конфигуратора? Как раз показываю, что без иксов он не работает.
Вопрос в том, почему вас это так пугает? Иксы это всего лишь приложение. Их запуск не означает, что вам обязательно нужен монитор и мышка на сервере :-)
Вы хотели узнать, можно ли управлять базой через командную строку - вам показали что да. Тему можно закрывать.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. japopov 68 08.08.17 08:49 Сейчас в теме
(1) Как Вам уже отметили, даже без использования GUI, X для 1С обязательны.
И потом, раз у Вас уже поднят сервер 1С, что мешает управлять им через консоль управления 1С? С любой GUIшной машины под Windows или Linux подключиться к кластеру 1С, и всё сделать просто?
10. Infactum 317 15.08.17 16:11 Сейчас в теме
(1) Ответ на ваш вопрос, полагаю, был получен?
12. spezc 787 16.08.17 10:33 Сейчас в теме
(10) не совсем. на самом деле я подозревал что тут что-то неладное. и к тому времени уже прочитал про сервис конфигуратора. однако запустить его не получилось. мануалы очень скудные. примеров нигде нет.


Кто нибудь уже пробовал работать со службой конфигуратора? Есть успешные примеры? В том числе на Линуксе?
13. Infactum 317 16.08.17 13:20 Сейчас в теме
(12) Со службой практически точно будут абсолютно такие же проблемы - не запустится без иксов. Хотя я не проверял.
Просто этот режим сделан для интеграции с EDT в первую очередь. Другие задачи разработчиков платформы не особо волнуют видимо.
14. spezc 787 16.08.17 17:21 Сейчас в теме
(13) ну почему, агент сервиса же работает. тем более что в мануалах пишут мол заточено под работу через SSH
15. Infactum 317 16.08.17 22:18 Сейчас в теме
(14) Сервер - это сервер. А у клиентского приложения без иксов ничего не работает и точка. Даже режим агента конфигуратора не запустите. Хотя при желании это все обходится заглушками легко.
Вот небольшое демо внутри docker контейнера.
infactum@8bb673594383:~$ ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
infactum      1  0.0  0.0   5300  3752 ?        Ss   19:01   0:00 bash
infactum   3032  0.0  0.0   4752  2380 ?        R+   19:04   0:00 ps aux
infactum@8bb673594383:~$ /opt/1C/v8.3/i386/1cv8 DESIGNER /F"/pwd/InfoBase/" /AgentMode /AgentSSHHostKeyAuto
infactum@8bb673594383:~$ ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
infactum      1  0.0  0.0   5300  3752 ?        Ss   19:01   0:00 bash
infactum   3034  0.0  0.0   4752  2424 ?        R+   19:04   0:00 ps aux
infactum@8bb673594383:~$ xstart 
infactum@8bb673594383:~$ /opt/1C/v8.3/i386/1cv8 DESIGNER /F"/pwd/InfoBase/" /AgentMode /AgentSSHHostKeyAuto &
[1] 3039
infactum@8bb673594383:~$ ps aux
USER        PID %CPU %MEM    VSZ   RSS TTY      STAT START   TIME COMMAND
infactum      1  0.0  0.0   5300  3752 ?        Ss   19:01   0:00 bash
infactum   3036  0.3  0.4 206388 19676 ?        S    19:04   0:00 Xorg -dpi 96 -noreset -nolisten tcp +extension GLX +extension RANDR +extension RE
infactum   3039 45.5  8.0 797992 324436 ?       Sl   19:04   0:00 /opt/1C/v8.3/i386/1cv8 DESIGNER /F/pwd/InfoBase/ /AgentMode /AgentSSHHostKeyAuto
infactum   3044  0.0  0.0   4752  2308 ?        R+   19:04   0:00 ps aux
infactum@8bb673594383:~$ ssh admin@localhost -p 1543
Could not create directory '/home/infactum/.ssh'.
The authenticity of host '[localhost]:1543 ([127.0.0.1]:1543)' can't be established.
RSA key fingerprint is 19:a2:73:89:c5:e1:1b:80:37:ca:df:ff:e8:43:38:f1.
Are you sure you want to continue connecting (yes/no)? yes
Failed to add the host to the list of known hosts (/home/infactum/.ssh/known_hosts).
admin@localhost's password: 
PTY allocation request failed on channel 0
1C:Enterprise 8.3 1C Designer Shell © 1C-Soft LLC 1996-2017
designer> common connect-ib
Операция завершена успешно
designer> 
Показать

В общем при желании можно и "одной" командой сделать запуск агента конфигуратора на headless linux сервере. Может на досуге к CI прикручу..
16. spezc 787 17.08.17 04:28 Сейчас в теме
(15) мда... это пока находится за границами моего понимания. надеюсь появятся отзывы о первых экспериментах с агентом конфигуратора и окажется, что он таки работает без иксов.
17. Infactum 317 17.08.17 05:51 Сейчас в теме +10 $m
(16) А в (15) по вашему что, не агент конфигуратора? Как раз показываю, что без иксов он не работает.
Вопрос в том, почему вас это так пугает? Иксы это всего лишь приложение. Их запуск не означает, что вам обязательно нужен монитор и мышка на сервере :-)
Вы хотели узнать, можно ли управлять базой через командную строку - вам показали что да. Тему можно закрывать.
18. spezc 787 17.08.17 07:43 Сейчас в теме
(17) еще раз пересмотрел набор букв. похоже да, режим конфигуратора работает, при наличии xstart. буду еще раз переваривать все это. Спасибо!
19. Infactum 317 17.08.17 08:05 Сейчас в теме
(18) Только xstart это мой скрипт, а не какая-то системная команда. Он Xorg запускает.
Подробнее тут.
2. Infactum 317 07.08.17 18:38 Сейчас в теме
Если запускается приложение, значит у вас ошибка в команде. Как минимум нет пробелов после опций запуска (не работает тут привычный linux подход).
Без иксов не будет работать даже командный режим конфигуратора. Нужно хотя бы заглушку вроде xdummy запускать.

Ну и в целом синтаксис командной строки пакетного режима достаточно многословный. Рекомендую вот сюда взглянуть: https://github.com/oscript-library/v8runner https://github.com/oscript-library/deployka
11. caponid 15.08.17 17:14 Сейчас в теме
(2)
Без иксов не будет работать даже командный режим конфигуратора.

подтверждаю - чистый сервер не получился.. а вот что с агентом будет.. на тот момент не было агента... а на сейчас нет потребности - проект свернули..
4. spezc 787 08.08.17 09:47 Сейчас в теме
Должен признаться, я "тот еще" линуксоид... Что такое Иксы?

Поднять сервак на винде или линуксе с гуи рядом можно. Ну или на крайний случай создать впн. Просто хотелось освоить именно вариант работы через командную строку (например при подключении через ssh)
5. Infactum 317 08.08.17 10:15 Сейчас в теме
(4) Иксы это, грубо говоря, реализация GUI в *nix системах. Вот тут более подробно.
В текущей реализации платформы управлять через ssh без костылей можно только кластером (при наличии RAS).
Для работы с конфигуратором я, при необходимости, использую docker контейнер. Но это прям на любителя :) Либо для CI/CD.
6. spezc 787 08.08.17 10:18 Сейчас в теме
(5) Понял, спасибо))))

Но касательно GUI, в винде же я могу через командную строку выполнять манипуляции? Или получается это просто "команды", а 1С "все выполняет по старинке", просто мы не видим открывающегося-закрывающего окна конфигуратора?
7. spezc 787 08.08.17 10:23 Сейчас в теме
На ИТС нашел упоминание про агент конфигуратора, вроде бы как раз то что мне нужно, выполняется из командной строки и ssh. Но блин ни одного живого примера как это в винде или линуксе использовать.

с ras разобрался, прикольная штука. если бы еще конфигуратором так рулить, если все таки окажется что для обычной 1С таки нужен запуск конфигруатора "в хз как-то там невидимом режиме в GUI"
8. Infactum 317 08.08.17 10:28 Сейчас в теме
(7) Код платформы мало кто видел, поэтому можно только догадываться о конкретной реализации. Скорее всего проверка наличия GUI производится ранее непосредственной обработки параметров командной строки. В винде GUI - часть ядра. Там всегда будет работать. А в *nix это отдельная опциональная подсистема. Видимо разработчики 1С этот момент проигнорировали когда-то, а исправлять нужны не считают ввиду низкого спроса.

Кстати вспомнил еще про режим агента конфигуратора, который появился в 8.3.10
Честно скажу, сам не пробовал.
Анонс был вот тут. Остальное есть в ИТС.

Возможность редактирования сообщений, на которые уже дали ответ - зло :-)
9. user624024_mavayka 10.08.17 10:29 Сейчас в теме
у нас вот так отрабатывает:

/opt/1C/v8.3/x86_64/1cv8 DESIGNER /S"servername/basename" /N"логин" /P"пароль" /LoadCfg "/home/update_.cf"
/opt/1C/v8.3/x86_64/1cv8 DESIGNER /S"servername/basename" /N"логин" /P"пароль" /UpdateDBCfg
24. Isonic 238 29.06.20 14:22 Сейчас в теме
(9) будет работать, если сначала сделать
$ su export Display=:1

а потом уже без проблем вот так
/opt/1C/v8.3/x86_64/1cv8 DESIGNER /S"servername/basename" /N"логин" /P"пароль" /LoadCfg "/home/update_.cf"
/opt/1C/v8.3/x86_64/1cv8 DESIGNER /S"servername/basename" /N"логин" /P"пароль" /UpdateDBCfg
20. spezc 787 18.09.17 10:50 Сейчас в теме
Вообщем да, готов подтвердить, что агент конфигуратора работает под линуксом только при наличии GUI.
21. fotov 313 25.05.18 12:05 Сейчас в теме
22. user1038502 25.08.18 12:55 Сейчас в теме
This working for me:
************
#!/bin/bash
unpruser='unprivileged user'
su - $unpruser -c "env DISPLAY=:0.0 /opt/1C/v8.3/i386/1cv8 DESIGNER /S1cl32\s1 /LoadCfg/install/cf/UNF_1_6_10_55.cf
23. ilijaz 26.09.19 22:36 Сейчас в теме
Можно запустить через виртуальный фрэймбуфер xvfb без установки графического окружения.
Оставьте свое сообщение

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