Подскажите, как правильно написать юнита, чтоб он запускал скрипт при выключении\перезагрузке\сне?
Сейчас написано так
[Unit]
Before=hibernate.target hybrid-sleep.target suspend.target shutdown.target poweroff.target
After=network.target
[Service]
Type=oneshot
ExecStart=/bin/bash -c "/etc/init.d/zabbix-4shutdown.script stop"
RemainAfterExit=true
[Install]
WantedBy=graphical.target
Но он не срабатывает при выключении. Если сделать systemctl restart myservice, то скрипт запускается и выполняется. Подозреваю, что ошибка в блоке Install, делал с multi-user.target, shutdown.target, но тоже не срабатывало.
UPD.
Выяснилось, что не совсем верно работает все.
Прописал
[Unit]
Before=shutdown.target poweroff.target
Conflicts=reboot.target
Requires=network.target
[Service]
Type=oneshot
ExecStop=/bin/bash -c "/etc/init.d/zabbix_4shutdown.script stop"
RemainAfterExit=true
[Install]
WantedBy=network.target
И скрипт все равно запускается при перезагрузке, но запускается так, что ничего не может отправить, т.к. либо сеть уже отключилась, либо openvpn отрубается раньше, чем запуск скрипта происходит. Мне необходимо разные скрипты запускать при выключении и при перезагрузке, но почему-то Conflicts\Before неправильно обрабатываются.
Можно ли привязать к WantedBy=openvpn или что-то такое?