Как мне отложить выполнение сценария, чтобы FreeIPA запустился первым?
У меня есть несколько контейнеров с сервером FreeIPA, на котором проходят аутентификацию все пользователи. Все ОС — Linux. В некоторых из моих контейнеров есть службы, которые запускаются при запуске через systemd. К сожалению, похоже, что эти сценарии терпят неудачу из-за сбоя аутентификации. Однако если я вручную запущу службу позже, используя systemctl start , служба запустится нормально.
Вот пример вывода статуса службы для одной из моих служб:
● emby-server.service - Emby Server is a personal media server with apps on just about every device.
Loaded: loaded (/etc/systemd/system/emby-server.service; enabled; vendor preset: enabled)
Drop-In: /etc/systemd/system/emby-server.service.d
└─override.conf
Active: failed (Result: exit-code) since Tue 2021-01-19 11:25:45 GMT; 35s ago
Process: 163 ExecStart=/opt/emby-server/bin/emby-server (code=exited, status=217/USER)
Process: 150 ExecStartPre=/bin/sleep 20 (code=exited, status=217/USER)
Main PID: 163 (code=exited, status=217/USER)
Jan 19 11:25:45 emby systemd[1]: Starting Emby Server is a personal media server with apps on just about every device....
Jan 19 11:25:45 emby systemd[150]: emby-server.service: Failed to determine user credentials: Connection refused
Jan 19 11:25:45 emby systemd[150]: emby-server.service: Failed at step USER spawning /bin/sleep: Connection refused
Jan 19 11:25:45 emby systemd[1]: Started Emby Server is a personal media server with apps on just about every device..
Jan 19 11:25:45 emby systemd[163]: emby-server.service: Failed to determine user credentials: Connection refused
Jan 19 11:25:45 emby systemd[163]: emby-server.service: Failed at step USER spawning /opt/emby-server/bin/emby-server: Connection refused
Jan 19 11:25:45 emby systemd[1]: emby-server.service: Main process exited, code=exited, status=217/USER
Jan 19 11:25:45 emby systemd[1]: emby-server.service: Failed with result 'exit-code'.
Я подозреваю, что мне нужно ввести паузу перед запуском сценария, чтобы позволить клиенту FreeIPA запуститься первым, потому что сценарий завершается с ошибкой с вышеуказанной ошибкой при запуске, но работает нормально, если запустить его позже.
Я попытался добавить спящий режим в сценарий /etc/systemd/system/servicename.service с помощью ExecStartPre=-/bin/sleep 20, но я предполагаю, что до этого он не работает, потому что сам сценарий не может запуститься, пока пользователь не будет аутентифицирован.
Пожалуйста, не могли бы вы мне помочь с:
- Судя по приведенной выше информации, правильно ли я определил проблему
- Должен/могу ли я сделать что-нибудь еще, чтобы подтвердить причину проблемы
- Как я могу ввести паузу перед запуском сценария servicename.service?
Спасибо