Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

Linuxシステムを管理していると、システムが正常に稼働しているかを把握したりトラブルシューティングを行うために、システムのシャットダウンや再起動の履歴をチェックしたいときがあります。

そこでここでは、CentOS 7を例にシステムのシャットダウンや再起動の履歴をコマンドで確認する方法を紹介します。

この記事は、以下の環境での動作結果を基にしています。他のディストリビューションやバージョンでは、動作結果が異なる場合があることをご了承ください。

ソフトウェアバージョン
CentOS Linux7.9.2009

lastコマンドで確認する

lastコマンドは、システムへのログイン履歴を一覧表示するコマンドで「/var/log/wtmp」ファイルを参照し、どのユーザーがどの端末からいつログインしログアウトしたかを表示することができ、オプションを指定することでシャットダウンや再起動の履歴を表示することもできます。

たとえば、以下のようにコマンドを実行すると、システムがいつシャットダウン(再起動を含む)されたかの履歴を確認できます。

$ last -x shutdown

コマンドを実行すると、以下の画面のようにシステムがいつシャットダウン(再起動)されたかを確認できます。(最新の履歴が一番上に表示されます。)

Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

システムの起動履歴を確認したいときは、以下のようにコマンドを実行します。

$ last -x reboot

コマンドを実行すると、以下の画面のようにいつシステムが起動され、稼働期間を確認できます。

Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

「-n」オプションを利用すれば、表示する履歴数を指定することもでき、以下のコマンドでは最新から3件のシャットダウン履歴を表示しています。

$ last -x -n 3 shutdown

Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

「-t」オプションで日時を指定すれば、指定した日時より前の履歴だけを表示することができ、以下のコマンドでは2021年12月31日23時59分59秒より前の履歴を表示しています。

なお、年を表示させるために「-F」オプションも付与しています。

$ last -x -t 20211231235959 -F shutdown

Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

journalctlコマンドで確認する

journalctlコマンドは、systemd-journaldが収集したログを表示するためのコマンドで、時刻やユニット名などを指定して特定のログを表示することができ、オプションを指定することでシステムの起動履歴を表示することもできます。

たとえば、以下のようにコマンドを実行すると、システムの起動履歴を確認することができます。

$ journalctl --list-boots

コマンドを実行すると、以下の画面のようにシステムの起動履歴が表示され、各行に表示されている最初のタイムスタンプがシステムの起動日時を表しており、2番目のタイムスタンプがシステムのシャットダウン日時を表しています。(最新の履歴は一番下に表示されます。)

Linuxでシャットダウンや再起動の履歴をコマンドで確認する方法

なお、2列目に表示されている文字列はブートIDと呼ばれ、システムが起動するたびに、一意の新しいIDが設定されます。

あとがき

Linuxシステムを管理しているなら、システムが正常に稼働しているかを把握したりトラブルシューティングを行うために、ここで紹介したコマンドが役立つこともあるでしょう。

ご活用あれ。