シャットダウン時にシステムを実行させようとしているスクリプトがあり、シャットダウン時 (または再起動時) にのみ実行させようとしています。このスクリプトはサーバーを起動または停止しません。単に一部のファイル システムをアンマウントするだけです。残念ながら、私が見つけたドキュメントの多くは、サーバーを管理するスクリプトを作成するつもりであると考えているようですが、私がやっていることはまったく違います。
読む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
状況は改善されましたが、スクリプトが を呼び出すためエラーが返されるという問題があります。再起動すると、スクリプトの後に 3 つのメッセージしか表示されず、最初のメッセージは次のようになるcryptsetup
ため、実行が遅すぎるのだと思います。journalctl -b -1 --dmesg
カーネル: nfsd: 最後のサーバーが終了しました。エクスポート キャッシュをフラッシュしています