試著讓 systemd 腳本的時間正確

試著讓 systemd 腳本的時間正確

我有這個腳本,我試圖讓系統在關閉時執行並且僅在關閉時執行(或重新啟動)。該腳本不會啟動或停止伺服器;它只是卸載一些檔案系統。不幸的是,我發現的許多文件似乎都認為我要編寫一個腳本來管理伺服器,但這根本不是我正在做的事情。

閱讀http://tuxgraphics.org/npa/systemd-scripts/並且(我man systemd.serviceman 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:最後一個伺服器已退出,正在刷新匯出快取

相關內容