Eu preciso executar um script no desligamento, reinicialização ou systemctl isolate rescue.target
ou init 1
. Eu tenho alguns scripts sysv
init (meu sistema operacional é Centos7
). Meu script deve ser executado depois que todos esses scripts forem interrompidos. Seus nomes são gerados, então não posso usá-los na minha opção WantedBy
.
Eu não quis listar todas as possíveis variantes de desligamento em WantedBy
e achei que seria mais simples executar meu script usando ExecStop
em vez de ExecStart
.
Eu tentei WantedBy=basic.target
, supondo que pararia mais tarde do que as unidades solicitadas por multi-user.target
, mas isso não funcionou:
# my unit stopped:
Apr 08 16:58:00 wc8rh7 systemd[1]: Stopped Stop all db2 processes except fault monitor.
# the generated sysv script stopped:
Apr 08 16:58:12 wc8rh7 systemd[1]: Stopped LSB: Starts and stops Application Server instances.
_
[Unit]
Description=Stop all db2 processes except fault monitor
#DefaultDependencies=no
#Before=multi-user.target
[Service]
IgnoreSIGPIPE=false
ExecStart=/bin/true
ExecStop=/usr/local/bin/db2stopall
RemainAfterExit=yes
[Install]
WantedBy=basic.target
Tags systemd