コマンドラインの基本:シャットダウンと再起動
サーバーと同じ部屋にいるときは、サーバーをシャットダウンまたは再起動するのは簡単です。 電源ボタンを押したままにすることも、マシン全体のプラグを抜くこともできます。 これらのソリューションはエレガントではないだけでなく、データを破壊し、ハードウェアに損傷を与える可能性があります。 また、お気に入りのリモートサーバーにログインしている場合も機能しません。
ホスティングプロバイダーによっては、マシンをシャットダウンまたは再起動するための光沢のある赤いボタンが完全に付いた、優れたGUIインターフェイスを自由に使用できる場合があります。 これは十分なソリューションですが、必ずしも異なるホスティングプロバイダー間で拡張できるとは限りません。
コマンドラインで物事を行う方法を知っていると、可能な限りスタックにとらわれないようになります。 ホスティングプロバイダーを簡単に切り替えることができ、常に同じ一貫したツールセットを自由に使用できます。 この柔軟性は、慣れていない新しいスタックで作業する場合に非常に便利です。
入門
この記事で説明するコマンドshutdown
およびreboot
は、名前が示すとおりに機能します。 彼らはあなたのマシンをシャットダウンまたは再起動します。 これらはやや破壊的なコマンドであるため、ローカルで実行する場合は、システムからシステムへのシャットダウンまたは再起動の準備をしてください。
Unixライクなオペレーティングシステム(Linuxなど)を実行しているリモート開発サーバーまたはステージングサーバーを使用するのが理想的なシナリオです。 実際、これらのコマンドを使用してサーバーをオフラインにするため、ボックスを再起動する必要がない限り、実稼働サーバーで実行することはお勧めしません。
次のコマンドを実行するには、昇格したスーパーユーザー権限が必要になる可能性があります。 コマンドが見つからないというエラーが表示された場合は、sudo
で再試行してください。
使用しているマシンでスーパーユーザー権限がない場合、マシンをシャットダウンまたは再起動できない可能性があります。
シャットダウン
システムのシャットダウンは、shutdown
コマンドを使用して、最も単純な形式で、引数なしで実行できます。
$ shutdown # Graceful shutdown in 1 minute
引数がない場合、shutdown
コマンドは、現在の時刻から1分間のシャットダウンをスケジュールします。 将来的に予定されているため、-c
引数を使用してシャットダウンをキャンセルする機会があります。
$ shutdown -c # Cancel a scheduled shutdown
危機は回避されました!
最初のshutdown
コマンドを実行したときに、ブロードキャストメッセージが発行されたことにお気づきかもしれません。 これがウォールメッセージであり、現在システムにログインしているすべてのユーザーに発行されます。
シャットダウンの時間と、ユーザーに表示されるウォールメッセージの内容をスケジュールできます。
$ shutdown now "Cya later alligator" # Immediately shut down
$ shutdown +5 "Cya later alligator" # Shutdown in 5 minutes
引数は順番に渡され、値が何であるかを示す追加の--flags
がないため、特定の順序で渡される必要があります。 つまり、時間を指定せずにウォールメッセージをカスタマイズすることはできません。
再起動
サーバーを再起動するための迅速で簡単な方法を探しているだけなら、reboot
コマンドはほぼ同じくらい簡単です。
$ reboot # Graceful restart
$ reboot -f # Forceful, like holding the power button
Unix哲学と調和して、reboot
コマンドは、その名前が意味することを実行しますが、それ以外はほとんど実行しません。
一方、shutdown
コマンドは、実際には「シャットダウン」という名前が推測するよりも少し多くのことを実行します。これを使用して、マシンを再起動したり、シャットダウンしたりできます。
これが重要な理由は、reboot
コマンドは迅速で作業を完了しますが、shutdown
コマンドを使用してマシンを再起動すると、スケジュールを設定できるだけでなく、スケジュールを設定できるという追加の利点が得られるためです。壁のメッセージを編集します。
shutdown
コマンドに、シャットダウンするだけでなく再起動するように指示するには、-r
または--reboot
引数を他のオプションとともに渡します。
$ shutdown --reboot # Reboot in 1 minute
$ shutdown -r now "After while crocodile" # Immediately reboot
$ shutdown -r +5 "After while crocodile" # Reboot in 5 minutes
以前に完全シャットダウンをキャンセルした方法と同様に、reboot
に追加されたもう1つの利点は、-c
引数を指定して再度呼び出すことにより、shutdown
を介して再起動をキャンセルできることです。
$ shutdown -c # Cancel a scheduled shutdown (or reboot!)