我有這個腳本,我試圖讓系統在關閉時執行並且僅在關閉時執行(或重新啟動)。該腳本不會啟動或停止伺服器;它只是卸載一些檔案系統。不幸的是,我發現的許多文件似乎都認為我要編寫一個腳本來管理伺服器,但這根本不是我正在做的事情。
閱讀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:最後一個伺服器已退出,正在刷新匯出快取