Linuxシステムを管理していると、システムが正常に稼働しているかを把握したりトラブルシューティングを行うために、システムのシャットダウンや再起動の履歴をチェックしたいときがあります。
そこでここでは、RedHat系Linux(CentOS 7)を例に、システムのシャットダウンや再起動の履歴をコマンドで確認する方法を紹介します。
目次
lastコマンドで確認する
lastコマンドは、システムへのログイン履歴を一覧表示するコマンドで「/var/log/wtmp」ファイルを参照し、どのユーザーがどの端末からいつログインしログアウトしたかを表示することができ、オプションを指定することでシャットダウンや再起動の履歴を表示することもできます。
たとえば、以下のようにコマンドを実行すると、システムがいつシャットダウン(再起動を含む)されたかの履歴を確認できます。
$ last -x shutdown
コマンドを実行すると、以下の画面のようにシステムがいつシャットダウン(再起動)されたかを確認できます。(最新の履歴が一番上に表示されます。)
システムの起動履歴を確認したいときは、以下のようにコマンドを実行します。
$ last -x reboot
コマンドを実行すると、以下の画面のようにいつシステムが起動され、稼働期間を確認できます。
「-n」オプションを利用すれば、表示する履歴数を指定することもでき、以下のコマンドでは最新から3件のシャットダウン履歴を表示しています。
$ last -x -n 3 shutdown
「-t」オプションで日時を指定すれば、指定した日時より前の履歴だけを表示することができ、以下のコマンドでは2021年12月31日23時59分59秒より前の履歴を表示しています。
なお、年を表示させるために「-F」オプションも付与しています。
$ last -x -t 20211231235959 -F shutdown
journalctlコマンドで確認する
journalctlコマンドは、systemd-journaldが収集したログを表示するためのコマンドで、時刻やユニット名などを指定して特定のログを表示することができ、オプションを指定することでシステムの起動履歴を表示することもできます。
たとえば、以下のようにコマンドを実行すると、システムの起動履歴を確認することができます。
$ journalctl --list-boots
コマンドを実行すると、以下の画面のようにシステムの起動履歴が表示され、各行に表示されている最初のタイムスタンプがシステムの起動日時を表しており、2番目のタイムスタンプがシステムのシャットダウン日時を表しています。(最新の履歴は一番下に表示されます。)
なお、2列目に表示されている文字列はブートIDと呼ばれ、システムが起動するたびに、一意の新しいIDが設定されます。
あとがき
Linuxシステムを管理しているなら、システムが正常に稼働しているかを把握したりトラブルシューティングを行うために、ここで紹介したコマンドが役立つこともあるでしょう。
ご活用あれ。