Eu preciso executar um script antes de um conjunto de outros serviços na minha máquina parar ao desligar a máquina. (No meu caso, encerrar uma instância do EC2.)
Eu tentei variações na resposta nesta pergunta, mas nada funciona: Como faço para executar um script antes de tudo no desligamento com o systemd? (Eu também olhei no unix.se, mas também não é bom: link ... e eu também procurei nas listas de discussão. )
Meu maior problema é que o OP dessa pergunta queria executar o script antes que algumas montagens fossem desmontadas, mas eu não tenho nenhum requisito em montagens, mas em serviços.
Meu serviço é algo assim:
[Unit]
Description=Run script before other things stop on shutdown
Wants=multi-user.target network.target foo.service bar.service
After=multi-user.target network.target foo.service bar.service
[Service]
ExecStart=/bin/true
ExecStop=-/my/script
ExecStopPost=/bin/sleep 5s
RemainAfterExit=yes
Type=oneshot
[Install]
WantedBy=multi-user.target
Eu habilito e inicio esta unidade após a inicialização, mas não parece executar o script quando encerro a instância. Estou perplexo, como posso fazer isso?
Estou usando o systemd 232 no Debian Stretch.