Информационный портал по безопасности » Админитстрирование » Системное администрирование » Рецепт для systemd: принудительный перезапуск сервиса по файловому флагу

 

Рецепт для systemd: принудительный перезапуск сервиса по файловому флагу

Автор: admin от 17-12-2015, 13:13, посмотрело: 720

Задача:

  • имеется некий самописный сервис, запускаемый и отслеживаемый из systemd;

  • необходимо при появлении файла-флага рестартовать этот сервис;

  • делать это изнутри сервиса нельзя по религиозным соображениям.


Решение:
restart-myservice.service
[Unit]
Description=Restart my cool service

[Service]
Type=oneshot
ExecStartPre=/bin/rm -f /path/to/restart.flag
ExecStart=/bin/systemctl restart myservice.service


restart-myservice.path
[Unit]
Description=Path marker to restart my cool service

[Path]
PathExists=/path/to/restart.flag
Unit=restart-myservice.service


Не забудьте сказать systemctl start restart-myservice.path и прописать restart-myservice.path в параметр Wants управляемого сервиса.

Ограничения:
Юнит path работает через системный вызов notify, и если флаг по пути с симлинком, то при перестановке симлинка (был на каталог без флага, стал с флагом) он скорее всего не выстрелит, я не проверял.

Дополнительные материалы:
man systemd.path
man systemd.unit

Источник: Хабрахабр

Категория: Админитстрирование / Системное администрирование

Уважаемый посетитель, Вы зашли на сайт как незарегистрированный пользователь.
Мы рекомендуем Вам зарегистрироваться либо войти на сайт под своим именем.

Добавление комментария

Имя:*
E-Mail:
Комментарий:
  • bowtiesmilelaughingblushsmileyrelaxedsmirk
    heart_eyeskissing_heartkissing_closed_eyesflushedrelievedsatisfiedgrin
    winkstuck_out_tongue_winking_eyestuck_out_tongue_closed_eyesgrinningkissingstuck_out_tonguesleeping
    worriedfrowninganguishedopen_mouthgrimacingconfusedhushed
    expressionlessunamusedsweat_smilesweatdisappointed_relievedwearypensive
    disappointedconfoundedfearfulcold_sweatperseverecrysob
    joyastonishedscreamtired_faceangryragetriumph
    sleepyyummasksunglassesdizzy_faceimpsmiling_imp
    neutral_faceno_mouthinnocent