Запустите скрипт, прежде чем другие блоки остановятся при выключении

360
2rs2ts

Мне нужно запустить скрипт, прежде чем набор других служб на моей машине остановится при выключении машины. (В моем случае прекращение работы экземпляра EC2.)

Я попробовал варианты ответа на этот вопрос, но ничего не работает: как мне запустить скрипт, прежде чем все остальное при завершении работы с systemd? (Я также посмотрел на unix.se, но это также не очень хорошо: https://unix.stackexchange.com/questions/39226/how-to-run-a-script-with-systemd-right-before-shutdown .. и я тоже смотрел в списках рассылки.)

Моя самая большая проблема заключается в том, что ОП этого вопроса хотел запустить скрипт до того, как некоторые монтирования были размонтированы, но у меня нет никаких требований к монтированию, а скорее к сервисам.

Мой сервис примерно такой:

[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 

Я включаю и запускаю этот модуль после загрузки, но он не запускает скрипт, когда я закрываю экземпляр. Я в растерянности, как я могу это сделать?

Я использую systemd 232 на Debian Stretch.

1
«… Но у меня нет ничего подобного». - конечно, вы даже упоминали об этом в первом абзаце: у вас есть «до остановки других служб на моей машине». grawity 5 лет назад 0
@ Grawity Я специально имел в виду горы 2rs2ts 5 лет назад 0

0 ответов на вопрос

Похожие вопросы