@Boris19

Как настроить systemd?

Помогите настроить зависимости в systemd. Нужно организовать два сервиса по следующему алгоритму:
1. Первый сервис запускается перед вторым, даже если запустили сначала второй сервис
2. Если один сервис остановили, то другой тоже должен остановиться
3. Если один из сервисов упал, второй должен остановиться со статусом failed.

Как я понял, нужно юзать Requires, After, Before. Тогда можно управлять последовательностью запуска. Но никак не могу сделать так, чтобы если один сервис вдруг упал, то второй сервис тоже "упал".

********************************
# Service1
[Unit]
Requires=service2.service
Before=service2.service
********************************
#Service2
[Unit]
Requires=service1.service
After=service1.service


Нашел параметр BindsTo, который заставляет сервис остановиться, если другой упал. Но правда сервис в этом случае имеет статус inactive, а не failed как хотелось бы.
  • Вопрос задан
  • 140 просмотров
Решения вопроса 1
По п. 2,3 я думаю это подойдет:
BindsTo=
Configures requirement dependencies, very similar in style to Requires=. However, this dependency type is stronger: in addition to the effect of Requires= it declares that if the unit bound to is stopped, this unit will be stopped too. This means a unit bound to another unit that suddenly enters inactive state will be stopped too...

Подробнее man systemd.unit
Ответ написан
Пригласить эксперта
Ответы на вопрос 1
Проще объединить 2 сервиса в 1.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы