お知らせ

  • 利用規約を守って投稿してください。また、よくある質問および投稿の手引きも参照してください。
  • メッセージの投稿にはアカウントが必要です。未登録の方は、ユーザ登録ページからアカウントを作成することができます。

#1 2022-02-15 15:39:28

southern.class
メンバ
From: 東京都
登録日: 2022-01-05

シャットダウン時に自動でスクリプトを実行するには

ubuntu 20.04 LTSでシャットダウンまたはリブート時のタイミングで
自作スクリプトを自動実行させる方法はあるでしょうか。できるだけ簡単な方法で。

自分がやってみたことは
/etc/init.d/ に実行したいスクリプト(halt.local)を設置し、-r-xr-xr-x root:root halt.local で実行権限を設定。
/etc/rc0.d/ および /etc/rc6.d/ に K99halt.local -> ../init.d/halt.local でシンボリックリンクを設定してみましたが、
シャットダウン時とリブート時に機能していませんでした。普通にコマンドラインからは実行はできているのですが。
古いやり方ではダメなんでしょうね...。

オフライン

 

#2 2022-02-15 18:13:48

si
メンバ
From: hokkaido kitami, jp
登録日: 2007-01-15

Re: シャットダウン時に自動でスクリプトを実行するには

southern.class による投稿:

ubuntu 20.04 LTSでシャットダウンまたはリブート時のタイミングで
自作スクリプトを自動実行させる方法はあるでしょうか。できるだけ簡単な方法で。

自分がやってみたことは
/etc/init.d/ に実行したいスクリプト(halt.local)を設置し、-r-xr-xr-x root:root halt.local で実行権限を設定。
/etc/rc0.d/ および /etc/rc6.d/ に K99halt.local -> ../init.d/halt.local でシンボリックリンクを設定してみましたが、
シャットダウン時とリブート時に機能していませんでした。普通にコマンドラインからは実行はできているのですが。
古いやり方ではダメなんでしょうね...。

動作条件が満たされていないような?
参照: https://unix.stackexchange.com/questions/347275/how-to-run-a-script-at-shutdown-on-debian-9-or-raspbian-8-jessie
halt.local -> K_99 is needed

オフライン

 

#3 2022-02-15 18:53:10

ry
メンバ
登録日: 2008-07-30

Re: シャットダウン時に自動でスクリプトを実行するには

ubuntu 20.04 なら systemd にサービスを登録すれば、起動時やシャットダウン時に動作するスクリプトを作れます。

オフライン

 

#4 2022-02-16 15:22:45

southern.class
メンバ
From: 東京都
登録日: 2022-01-05

Re: シャットダウン時に自動でスクリプトを実行するには

ご教示ありがとうございました。解決できました。
systemd にサービスを作成するのですね。

提示していただいたURLを参考に
/etc/systemd/system/ に次の halt-local.service ファイルを作成。
ーーーーーーーーーーーーーーー
[Unit]
Description=halt-local script

[Service]
Type=oneshot
RemainAfterExit=yes (参照したURLでは =true でしたが)
ExecStart=/bin/true
ExecStop=/sbin/halt-local

[Install]
WantedBy=multi-user.target
ーーーーーーーーーーーーーーー
を記述。
実行したいスクリプトファイルは /sbin/halt-local (-rwxr-xr-x)に設置。
そのあと
sudo systemctl enable halt-local
を実行することでシャットダウンおよびリブート時に/sbin/halt-localが実行できるようになりました。

なお、/usr/lib/systemd/system/ に halt-local.service を置いても機能しましたが
同じファイルが存在する場合は /etc/systemd/system が優先されるとのことでした。

オフライン

 

Board footer

Powered by FluxBB