Попытка правильно рассчитать время выполнения скрипта systemd

Попытка правильно рассчитать время выполнения скрипта systemd

У меня есть скрипт, который я пытаюсь заставить систему выполняться при выключении и только при выключении (или перезапуске, если на то пошло). Этот скрипт не запускает и не останавливает сервер; он просто отмонтирует некоторые файловые системы. К сожалению, большая часть документации, которую я нахожу, похоже, думает, что я собираюсь написать скрипт для управления сервером, но это совсем не то, что я делаю.

Чтениеhttp://tuxgraphics.org/npa/systemd-scripts/и man systemd.service( man systemd.unitя даже не уверен, что именно я должен понимать) у меня есть:

[Unit]
Description=My umount script
After=network.target syslog.target

[Service]
Type=oneshot
ExecStop=/home/PL/bin/umountb2.sh
StandardOutput=journal

Но я понятия не имею, правильно ли это, и я еще меньше уверен, что это будет выполнено в нужное время. Мне нужно, чтобы это выполнялось когда-то после того, как все обычные пользователи выйдут из системы, но не до того, как будут размонтированы все файловые системы.

Я использую Ubuntu 22.04.2.

Редактировать: теперь файл конфигурации выглядит так:

 Description=My special shutdown script

 [Service]
 Type=oneshot
 RemainAfterExit=true
 ExecStop=/home/PL/bin/umountb2.sh

 [Install]
 WantedBy=multi-user.target

И дела пошли лучше, но есть проблема, потому что мой скрипт cryptsetupвызывает ошибку. Я думаю, что он выполняется слишком поздно, потому что когда я перезапускаю, я запускаю, journalctl -b -1 --dmesgтам только 3 сообщения, которые следуют за моим скриптом, первое из которых:

ядро: nfsd: последний сервер завершил работу, очищается кэш экспорта

Связанный контент