Windows XP Windows 7 Windows 2003 Windows Vista Windows 綜合教學 Linux 系統教學
Windows 10 Windows 8 Windows 2008 Windows NT Windows Server 電腦軟體教學
您现在的位置: Windows教程網 >> Windows教程 >  >> Linux 系統教學 >> Linux 教學

Linux 系統最後重啟時間查詢三大法:last、who -b、uptime 實戰比較

編輯:Linux 教學

無論是排查核心恐慌、驗證維護窗口執行情況、還是計算系統可用性指標(SLA),準確獲取「最後一次重啟時間」都是 Linux 運維的基本功。本文介紹三種標準查詢方法,對比其輸出格式、適用場景與優缺點,並提供腳本化範例供自動化巡檢使用。

方法一:last reboot —— 歷史重啟完整時間線

# last reboot
reboot system boot 5.10.0-21-amd64 Sat Jul 30 13:44 - 21:39 (46+07:55)
reboot system boot 5.10.0-21-amd64 Sun Apr 13 14:28 - 09:27 (107+18:59)
reboot system boot 5.10.0-21-amd64 Tue Mar 25 22:27 - 14:19 (18+15:52)

原理:/var/log/wtmp 記錄所有登入/登出事件。Linux 將每次開機視為一個特殊的「偽用戶」reboot 登入,因此查詢 reboot 的登入歷史即可得到完整重啟時間線。

優點:可見歷史所有重啟、每次運行時長、核心版本變更。
缺點:wtmp 會輪轉,舊記錄可能丟失;需人工解析輸出。

方法二:who -b —— 當前啟動時間最直接

# who -b
system boot 2024-07-30 13:44

原理:讀取 /var/run/utmp(當前登入狀態),其中包含系統啟動記錄。

優點:輸出極簡、機器易解析、無歷史干擾。
缺點:僅顯示當前啟動時間,無歷史、無運行時長。

方法三:uptime —— 反推啟動時間

# uptime
14:23:11 up 46 days, 8:02, 1 user, load average: 0.04, 0.05, 0.01

原理:顯示當前時間與系統已運行時長,用當前時間減去運行時長即得啟動時間。

優點:同時獲得負載資訊、登入用戶數。
缺點:需人工或腳本計算具體啟動時間點;高負載時運行時長顯示可能有秒級誤差。

三種方法對比速查表

維度last rebootwho -buptime
輸出內容完整歷史(含時長、核心版本)單行:啟動日期時間當前時間、運行時長、負載、用戶數
機器可解析性中(需 awk 切分)高(固定欄位)中(需計算)
歷史追溯支援(受 wtmp 輪轉限制)不支援不支援
適用場景審計、故障時間線重建自動化巡檢、腳本取值快速人工查看、負載關聯分析

自動化巡檢腳本範例(Bash)

#!/bin/bash
# 獲取當前啟動時間(ISO 8601 格式)
boot_time=$(who -b | awk '{print $3" "$4}')
# 獲取運行天數
up_days=$(uptime | grep -oP 'up \K[^,]+' | awk '{print $1}')
# 獲取最近一次重啟(last reboot 首行)
last_reboot=$(last reboot | head -1 | awk '{print $5,$6,$7,$8}')

echo "=== 系統重啟資訊 ==="
echo "當前啟動時間: $boot_time"
echo "已運行天數: $up_days"
echo "最近重啟記錄: $last_reboot"
echo "===================="

進階:systemd 系統的 journalctl 查詢

現代 systemd 發行版(RHEL 7+、Ubuntu 16.04+)可用:

# 最近一次啟動時間
journalctl --list-boots | head -1
# 或
journalctl -b -1 --no-pager | head -5

總結建議

  • 人工快速查看:who -b 最直觀。
  • 故障排查需時間線:last reboot 提供最豐富上下文。
  • 腳本/監控系統取值:who -b 配合 awk 最穩健。
  • 結合 uptime 同時掌握負載狀態,一條命令雙重收穫。

掌握這三種方法並知曉其底層資料來源(wtmp/utmp//proc/uptime),你就能在任何 Linux 環境下秒級定位系統重啟歷史,為故障複盤、合規審計提供鐵證。

Copyright © Windows教程網 All Rights Reserved