- PVSM.RU - https://www.pvsm.ru -
Задача:
Решение:
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
Автор: 6opoga
Источник [1]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/sistemnoe-administrirovanie/106510
Ссылки в тексте:
[1] Источник: http://habrahabr.ru/post/273351/
Нажмите здесь для печати.