[РЕШЕНО] Автоматический запуск сервиса сервера 1с

Доброе время суток коллеги.

Помогите разобраться вот с какой проблемой.
Установил сервер 1с в связке с PostgreSql. Всё работает нормально, кроме одной мелочи.

Насколько я понимаю, разрабы 1с не поддерживают до сих пор запуск из systemd, по этому был заколхожен свой файл сервиса:

[Unit]
Description=/etc/init.d/srv1cv83 compatibility
ConditionPathExists=/etc/init.d/srv1cv83
After=syslog.target
After=network.target

[Service]
Type=forking
ExecStart=/etc/init.d/srv1cv83 start
TimeoutSec=0
RemainAfterExit=yes
Restart=on-failure

ExecReload=/etc/init.d/srv1cv83 restart

ExecStop=/etc/init.d/srv1cv83 stop

[Install]
WantedBy=multi-user.target

В ручную всё запускается без проблем, однако автоматический запуск работает странно.
Вроде запускается реестр кластеров, но по сети соединится с ним не возможно.
Другие необходимые процессы не запускаются вовсе.

Может быть кто-то направит меня в нужную сторону?
Спасибо.
genues
нужную сторону
After=network.target не гарантирует что сервис запустится после поднятия сети.
Если для сервиса критично наличие сети и ее интерфейсов то может в этом проблема
vs220
Если для сервиса критично наличие сети и ее интерфейсов то может в этом проблема
По моему мнению, это не должно быть критично.
Попробую добавить Requires=network.target
genues
Requires=network.target
Опять же не гарантирует.
Почитайте например
https://www.freedesktop.org/wiki/Software/systemd/NetworkTarget
network.target has very little meaning during start-up. It only indicates that the network management stack is up after it has been reached. Whether any network interfaces are already configured when it is reached is undefined. Its primary purpose is for ordering things properly at shutdown: since the shutdown ordering of units in systemd is the reverse of the startup ordering, any unit that is order After=network.target can be sure that it is stopped before the network is shut down if the system is powered off. This allows services to cleanly terminate connections before going down, instead of abruptly losing connectivity for ongoing connections, leaving them in an undefined state. Note that network.target is a passive unit: you cannot start it directly and it is not pulled in by any services that want to make use of the network. Instead, it is pulled in by the network management service itself. Services using the network should hence simply place an After=network.target dependency in their unit files, and avoid any Wants=network.target or even Requires=network.target.

В зависимости от способа поднятия сети разные могут быть
например
After=network-online.target
Wants=network-online.target или Requires=network-online.target
vs220
Почитайте например
Спасибо, ознакомлюсь

vs220
After=network-online.target
Wants=network-online.target или Requires=network-online.target

И так попробую. Вечером, когда работа закончится.
*network-wait-online
*systemd-networkd-wait-online
Но его запуск может тормозить загрузку всей системы.
Поэтому по умолчанию выключен.
А и он требует корректно сконфигурированного systemd-network.
Ошибки в тексте-неповторимый стиль автора©
*network-wait-online
Это target?
*systemd-networkd-wait-online
А это service?
Но его запуск может тормозить загрузку всей системы.
Это не проблема, подождём.

Спасибо за подсказки!
genues
А это service?
да типа того, и там man по нему есть
genues
Это target?
да, но неправильно написанный, правильно так как вам привили выше...

и systemd-networkd-wait-online нужен если вы поднимаете сеть чем-то низкоуровневым типа systemd-networkd, если вы пользуетесь networkmanager то по идеи он и так будет генерировать нужное событие и target network-online будет работать, но это не точно.

p.s. а ещё я зачем-то изменил этот service дописал сетевой интерфейс и изменил timeout
Ошибки в тексте-неповторимый стиль автора©
Попробовал так:

[Unit]
After=systemd-networkd-wait-online
Requires=systemd-networkd-wait-online
и так

[Unit]
After=networkd-wait-online
Requires=networkd-wait-online
Увы, не помогло.
Я вообще не уверен, что серверу 1с нужна поднятая сеть для старта.
так вы его от root запускаете?
и что это за скрипт /etc/init.d/srv1cv83, что там внутри?

genues
[Unit]
After=systemd-networkd-wait-online
Requires=systemd-networkd-wait-online
и так

[Unit]
After=networkd-wait-online
Requires=networkd-wait-online
вам надо запустить
# systemctl start systemd-networkd-wait-online
если запуститься то
# systemctl enable systemd-networkd-wait-online
и потом дописать
[Unit]
After=network-online.target
Wants=network-online.target
Ошибки в тексте-неповторимый стиль автора©
 
Зарегистрироваться или войдите чтобы оставить сообщение.