Linuxサーバーでシャットダウンのコマンドを行う方法について記述します。
またシャットダウンコマンドのオプションについても見ていきます。
サーバーをシャットダウンする時は注意が必要ですし、他のログインしているユーザーもいます。注意と気遣いが必要なLinuxサーバーのシャットダウンコマンドについて、現役エンジニアの筆者がまとめます。
筆者はWindowsサーバーやLinuxサーバーの運用構築を11年以上おこなってきました。その経験を元に知識を公開していきます!
Linuxサーバーのシャットダウンコマンドをしっかり理解する事ができます。
Linuxサーバーのシャットダウンをコマンドで行う方法
Linuxサーバーでシャットダウンのコマンドは以下の通りです。
shutdown オプション 時間指定
オプションも時間指定もしなければ、メッセージを表示して1分後にシャットダウンします。
[root@localhost ~]# shutdown
Shutdown scheduled for 月 2024-05-20 14:33:04 JST, use 'shutdown -c' to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Mon 2024-05-20 14:32:04 JST):
The system is going down for power-off at Mon 2024-05-20 14:33:04 JST!
他のログインしているユーザーにも、以下のメッセージが表示されます。
[testuser@localhost ~]$
Broadcast message from root@localhost.localdomain (Mon 2024-05-20 14:37:39 JST):
The system is going down for power-off at Mon 2024-05-20 14:38:39 JST!
Linuxサーバーのシャットダウンコマンドのオプション
Linuxサーバーのシャットダウンコマンドのオプションを、以下にまとめます。
シャットダウンコマンドのオプション | 効果 |
---|---|
-h 時間指定 | 時間を決めてシャットダウンする |
-c | シャットダウンをキャンセルする |
-r 時間指定 | 時間を決めて再起動をする |
-k 時間指定 | シャットダウンする事のメッセージのみ表示する |
–no-wall 時間指定 | メッセージを表示せずにシャットダウンする |
時間を決めてシャットダウンする
デフォルトでは1分後にシャットダウンされますが、即シャットダウンしたり時間を決めてシャットダウンしたい事はないでしょうか?
という事でシャットダウンコマンドのhオプションで、時間指定をしてシャットダウンする事ができます。
- -h now・・・即シャットダウンする
- -h 5・・・5分後シャットダウンする
- -h 17:00・・・17時00分にシャットダウンする
即シャットダウンはログインしているユーザーの画面も即閉じてしまいます。
何分後を指定してシャットダウンする場合は、15分後までは他のログインしているユーザー画面にシャットダウンされる事が即表示されます。
15分以上指定した場合は他のログインしているユーザーの画面に何も表示されません。時間が経ち、15分前になればメッセージが表示されます。
時刻をそのまま指定する事も可能です。他のログインしているユーザーに表示される仕組みは、時間指定の時と同様です。
シャットダウンをキャンセルする
シャットダウンコマンドのcオプションで、シャットダウンをキャンセルする事ができます。
[root@localhost ~]# shutdown -c
Broadcast message from root@localhost.localdomain (Mon 2024-05-20 15:04:30 JST):
The system shutdown has been cancelled at Mon 2024-05-20 15:05:30 JST!
もちろん即シャットダウンした場合には無効ですが、時間指定してシャットダウンした場合の待機中にコマンドを打てはキャンセルできます。
どのような時間を指定していても、他のログインしているユーザーの画面にはシャットダウンがキャンセルされた表示が現れます。
[testuser@localhost ~]$
Broadcast message from root@localhost.localdomain (Mon 2024-05-20 15:04:53 JST):
The system shutdown has been cancelled at Mon 2024-05-20 15:05:30 JST!
時間を決めて再起動をする
シャットダウンコマンドのrオプションで、シャットダウンではなく再起動を行う事ができます。
shutdown -r 時間指定
時間指定する方法はシャットダウンの時と同様です。
- -r now・・・即再起動する
- -r 5・・・5分後に再起動する
- -r 17:00・・・17時00分に再起動する
再起動をキャンセルする場合は、先程のcオプションで可能です。
また再起動はシャットダウンコマンドではなく、rebootコマンドでも可能です。
reboot
シャットダウンする事のメッセージのみ表示する
シャットダウンする旨を、他のログインしているユーザーにお知らせだけしたい場合はないでしょうか?
実際にシャットダウンはせずに確認だけ行う。確認がとれたらシャットダウンすると安全です。
という事でシャットダウンコマンドのkオプションで、他のログインしているユーザーにシャットダウンする旨だけお伝えするメッセージを表示します。
shutdown -k 時間指定
時間指定に関しては、先程のオプションと同様に指定します。
[root@localhost ~]# shutdown -k 5
Shutdown scheduled for 月 2024-05-20 15:29:39 JST, use 'shutdown -c' to cancel.
[root@localhost ~]#
Broadcast message from root@localhost.localdomain (Mon 2024-05-20 15:24:39 JST):
The system is going down for power-off at Mon 2024-05-20 15:29:39 JST!
指定した時間にシャットダウンするメッセージだけ表示します。(実際はシャットダウンしません)
[testuser@localhost ~]$
Broadcast message from root@localhost.localdomain (Mon 2024-05-20 15:24:39 JST):
The system is going down for power-off at Mon 2024-05-20 15:29:39 JST!
メッセージを表示せずにシャットダウンする
シャットダウンする15分前には他のログインしているユーザーの画面にメッセージが表示されますが、「–no-wall」オプションで、メッセージを表示せずにシャットダウンする事が可能です。
[root@localhost ~]# shutdown --no-wall 5
Shutdown scheduled for 月 2024-05-20 15:31:47 JST, use 'shutdown -c' to cancel.
他のログインしているユーザーの画面には、何も表示されません。
[testuser@localhost ~]$
まとめ:Linuxサーバーのシャットダウンをコマンドで行う方法
Linuxサーバーでシャットダウンのコマンドの基礎構文は以下の通りです。
shutdown オプション 時間指定
オプションも時間指定もしなければ、メッセージを表示して1分後にシャットダウンします。
Linuxサーバーのシャットダウンコマンドのオプションを、以下にまとめます。
シャットダウンコマンドのオプション | 効果 |
---|---|
-h 時間指定 | 時間を決めてシャットダウンする |
-c | シャットダウンをキャンセルする |
-r 時間指定 | 時間を決めて再起動をする |
-k 時間指定 | シャットダウンする事のメッセージのみ表示する |
–no-wall 時間指定 | メッセージを表示せずにシャットダウンする |
時間指定する方法を以下にまとめます。
- now・・・即シャットダウンする
- 5・・・5分後シャットダウンする
- 17:00・・・17時00分にシャットダウンする
Linuxサーバーのシャットダウンは慎重に行う必要がありますし、他のログインしているユーザーの事も考える必要があります。しっかり理解を深めてLinuxサーバーの運用しましょう!