MENU

サーバーの連続稼働時間と最終起動日時を素早く確認する手順

サーバーの「いつから動いているか」「最後に再起動したのはいつか」は、障害対応の初動やパッチ適用前の確認など、運用のさまざまな場面で必要になります。この記事では、連続稼働時間と最終起動日時をターミナルから手軽に確認するコマンドを、目的別に解説します。

目次

uptime コマンドで稼働時間をひと目で確認する

稼働時間をすばやく確認するなら、uptime コマンドが最もシンプルです。引数なしで実行すると、現在時刻・稼働時間・ログイン中のユーザー数・ロードアベレージが一行で表示されます。

uptime

次のような形式で出力されます。

 15:42:31 up 10 days,  3:12,  2 users,  load average: 0.08, 0.03, 0.01

「up 10 days, 3:12」が連続稼働時間です。日数が表示されない場合は起動から24時間未満であることを意味します。ロードアベレージも同時に確認できるため、負荷の概況をつかむ際にも役立ちます。

稼働時間だけを見やすい形式で取り出したい場合は、-p(pretty)オプションが使えます。

uptime -p
up 10 days, 3 hours, 12 minutes

スクリプトへの組み込みや報告書への貼り付けで、稼働時間のテキストだけを切り出したいときに便利です。

最終起動日時を日時形式で確認する

uptime は「何日何時間」という相対的な経過時間を返しますが、「何月何日の何時に起動したか」という絶対的な日時が必要な場合は別のコマンドを使います。

who コマンドに -b(boot time)オプションを付けると、最終起動日時を表示できます。

who -b
         system boot  2026-11-03 12:30

年月日と時刻が表示されるため、「何日前に起動したか」を暦の上で把握しやすくなります。

systemd 環境では、systemd-analyze でも起動日時とその所要時間をまとめて確認できます。

systemd-analyze
Startup finished in 1.823s (kernel) + 8.714s (userspace) = 10.538s
multi-user.target reached after 8.692s in userspace.

カーネルの初期化からユーザースペースの完了までの所要時間も表示されるため、起動プロセス自体の速度を把握したいときにも役立ちます。

再起動の履歴を一覧で確認する

直近の起動だけでなく、「過去に何回・いつ再起動が発生したか」も把握したい場合は、last reboot が便利です。

last reboot
reboot   system boot  5.15.0-91-generic Mon Nov  3 12:30   still running
reboot   system boot  5.15.0-91-generic Wed Oct 15 09:10 - 12:28 (3+03:18)
reboot   system boot  5.15.0-91-generic Mon Oct  1 08:00 - 09:07 (1+01:07)

wtmp begins Mon Sep  1 00:00:00 2026

各行の右端には稼働していた期間が表示されます。「still running」は現在も稼働中であることを示します。最終行の「wtmp begins」は履歴ファイルの記録開始日時で、これより以前の履歴は参照できません。

出力が長くなる場合は、直近の数件のみに絞って確認できます。

last reboot | head -5

稼働時間を秒数で取得したいとき

シェルスクリプトや監視ツールとの連携で、稼働時間を秒数の数値として扱いたい場合は /proc/uptime を参照するのが確実です。

cat /proc/uptime
878532.14 3514108.56

1つ目の値が起動からの経過秒数、2つ目の値が全 CPU コアのアイドル時間の合計秒数です。稼働時間の秒数だけを取り出すには次のコマンドが使えます。

awk '{print $1}' /proc/uptime

取得した秒数を日・時・分に変換したい場合は、算術展開や date コマンドを組み合わせて処理できます。

よくあるつまずきと確認のポイント

稼働時間の確認でつまずきやすい点を整理します。

  • システム時刻のずれ:NTP の同期に問題があると、who -b や last で表示される日時が実際の起動時刻とずれることがあります。timedatectl status で NTP の同期状態を確認してください。
  • コンテナ環境での注意:Docker などのコンテナ内で uptime を実行すると、ホスト OS の稼働時間が表示される場合があります。コンテナ自身の起動時刻を調べるには、docker inspect などコンテナ管理ツール側のコマンドを使う方が正確です。
  • last コマンドに履歴が残っていない:last reboot の出力が「wtmp begins」だけで再起動の記録がない場合は、wtmp ファイルが初期化されているか、ログローテーション後のファイルが対象になっていない可能性があります。journalctl --list-boots で systemd ジャーナルから起動履歴を確認する方法も試してみてください。

稼働時間と起動日時は、障害対応・パッチ管理・定期メンテナンスのいずれにおいても、調査の起点となる基本情報です。各コマンドの使いどころを把握しておくと、状況に応じて必要な情報をすぐに引き出せます。

「コマンドは打てる。次は”現場で通用する型”を最短で身につけたい」——そんなあなたへ。

ネットの断片的なTipsをコピペするだけでは、体系的な運用スキルはなかなか積み上がりません。リナックスマスター.JPの無料メルマガ「リナマガ」では、現場で実際に使うLinuxサーバー運用の考え方を、順を追って実務目線でお届けしています。いま登録された方には、安全なサーバー構築の「型」をまとめた『Linuxサーバー構築入門マニュアル(図解60P)』を完全無料でプレゼント中です。

>> 図解60P『Linux入門マニュアル』を無料で受け取る
(メルマガ登録は10秒・いつでも解除OK)

※ 「独学の時間がもったいない」「プロから現場の技術を最短で学びたい」という本気の方には、2日で実務レベルが身につく初心者向けハンズオンセミナーもご用意しています。

よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!

この記事を書いた人

目次