当前位置:首页 > 问答 > 正文

linux运维|系统管理|如何通过命令行查询linux开机时间

🔍 一招搞定!Linux开机时间查询秘籍(运维老鸟都在用)

💻 场景引入

"小王啊,服务器昨晚是不是重启过?应用日志怎么断了!" 一大早,主管就火急火燎地冲过来问,作为新晋运维的你,如果能秒速查出系统运行时长,不仅解决问题快人一步,还能在同事面前秀一把技术范儿💪

🕵️‍♂️ 核心命令大全

uptime - 最快捷方案

$ uptime
 09:30:45 up 2 days,  5:12,  3 users,  load average: 0.15, 0.10, 0.05

👉 解读

  • 2 days, 5:12 表示运行2天5小时12分钟
  • 附赠彩蛋:还能看到CPU负载情况(最后三个数字)

who -b - 精确到秒

$ who -b
         system boot  2025-08-15 04:18

🕒 适合需要审计的场景,直接显示具体启动时间点

linux运维|系统管理|如何通过命令行查询linux开机时间

last reboot - 历史记录王

$ last reboot | head -n 3
reboot   system boot  5.15.0-78-generic Sat Aug 15 04:18 - 09:33 (2+05:15)
reboot   system boot  5.15.0-76-generic Wed Aug 12 21:05 - 04:18 (2+07:13)

📜 额外福利:能看到最近3次重启记录,排查问题更给力!

cat /proc/uptime - 极客最爱

$ cat /proc/uptime
183456.78 1456782.34

🤖 第一个数字是系统运行秒数(约50小时),第二个是CPU空闲时间

🎯 高阶技巧

人性化显示(秒转天数)

$ echo "系统已运行: $(awk '{printf("%d天%02d小时%02d分钟", 
        $1/86400, ($1%86400)/3600, ($1%3600)/60)}' /proc/uptime)"
系统已运行: 2天05小时15分钟

开机时间戳转换

$ date -d "$(awk -F. '{print $1}' /proc/uptime) seconds ago"
2025年 08月 15日 星期四 04:18:00 CST

� 常见踩坑

  1. 虚拟环境注意:云服务器可能显示宿主机的uptime
    ✅ 解决方案:检查/var/log/boot.log

    linux运维|系统管理|如何通过命令行查询linux开机时间

  2. 时间不准:如果NTP未同步会影响精度
    ✅ 记得先运行ntpdate -u pool.ntp.org

  3. 权限问题:普通用户可能看不到完整重启记录
    ✅ 用sudo last reboot获取完整信息

📊 运维必备知识卡

命令 速度 信息量 适用场景
uptime 快速检查
who -b 精确时间记录
last reboot 故障排查
/proc方式 脚本调用

下次再遇到"服务器是不是重启过"的灵魂拷问,这些命令就是你的尚方宝剑啦!记得收藏备用哦~ 🔖

linux运维|系统管理|如何通过命令行查询linux开机时间

发表评论