LINUX.ORG.RU

Выполнять команду после старта и рестарта сервиса

 


1

3

Хочу после старта libvirt восстанавливать сломанные им правила iptables. Написал юнит.

[Unit]
Description=Restore iptables rules
After=libvirtd.service
Requires=libvirtd.service
PartOf=libvirtd.service

[Service]
ExecStart=/usr/sbin/iptables-restore /etc/sysconfig/iptables-save
Type=oneshot

[Install]
WantedBy=multi-user.target

Не работает. То есть сам по себе вызывается нормально, а на рестарт либвирта не реагирует никак. Что неправильно?

Deleted

Что неправильно?

«systemd is dependency-driven, not event-driven» (c)

Примерно так:

[Install]
WantedBy=libvirtd.service

[Unit]
After=libvirtd.service
PartOf=libvirtd.service

[Service]
Type=oneshot
RemainAfterExit=true
ExecStart=/action/after/libvirtd/start
ExecStop=/action/before/libvirtd/stop
intelfx ★★★★★
()
Последнее исправление: intelfx (всего исправлений: 1)
Ответ на: комментарий от intelfx

т.е. ключевое здесь RemainAfterExit (Takes a boolean value that specifies whether the service shall be considered active even when all its processes exited. Defaults to no)?

das_tier ★★★★★
()
Ответ на: комментарий от intelfx

ExecStart=/action/after/libvirtd/start

Это значит что старт моего юнита будет стартовать либвирт? Но мне надо наоборот. Без модификации юнита либвирта этого не сделать?

Deleted
()
Ответ на: комментарий от Deleted

ExecStart=/action/after/libvirtd/start

Это значит что старт моего юнита будет стартовать либвирт? Но мне надо наоборот.

Конкретно это ничего не значит. Это экземплификант.

intelfx ★★★★★
()
Ответ на: комментарий от intelfx

Тьфу, затупил.
Вроде работает, спс.

Deleted
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.