快捷菜单
常用功能一站直达
更多功能请点顶栏「快捷菜单」
你想在Linux服务器上查询系统累计重启的次数,我会给你几个实用、易操作的命令,涵盖不同场景(快速查看、精准统计、适配不同Linux系统),并解释每个命令的输出含义,让你能直接落地使用。
last reboot:快速查看重启记录+统计次数这是最经典、兼容性最好的命令,直接读取系统的重启日志并展示,还能统计次数。
1# 第一步:查看所有重启记录(含时间、原因)
2last reboot
3
4# 第二步:精准统计重启次数(排除空行和表头)
5last reboot | grep -v "^$" | grep -v "wtmp" | wc -l🍀 输出示例与解读:
1reboot system boot 5.14.0-284.30.1.e Wed Jan 15 10:23 still running
2reboot system boot 5.14.0-284.30.1.e Tue Jan 14 09:10 - 10:22 (01:12)
3reboot system boot 5.14.0-284.30.1.e Mon Jan 13 18:05 - 09:09 (15:04)
4
5wtmp begins Mon Jan 13 18:05:10 2025reboot开头的记录代表一次重启;still running代表当前正在运行的这次启动;grep -v "^$":排除空行;grep -v "wtmp":排除最后一行的表头(wtmp文件起始时间);wc -l:统计行数,最终数值就是重启次数(如上例输出3行有效记录,即重启3次)。journalctl --list-boots(Systemd系统专用,精准度更高)🚩适用于CentOS 7+/RHEL 7+/Ubuntu 16.04+等使用systemd的系统,直接列出所有启动会话,行数就是重启次数。
1journalctl --list-boots🍀 输出示例与解读:
1[root@hg-ecs ~]#journalctl --list-boots
2-2 62a3e5777f504bfd8cacc9102102b419 Thu 2024-06-13 14:10:35 CST—Thu 2024-06-13 14:14:10 CST
3-1 e72dc2f162964ae5ae630306fb683d8c Fri 2025-11-28 09:58:04 CST—Sun 2025-11-30 09:27:09 CST
4 0 37711b9080b44abcbaae9d088f04cc4e Sun 2025-11-30 09:28:23 CST—Tue 2026-02-10 07:39:03 CST
5[root@hg-ecs ~]#0代表当前运行的启动会话,-1代表上一次,-2代表上上次,以此类推;journalctl日志未被手动清理)。如果只想快速确认「最后一次重启时间」或「系统运行时长」,可配合以下命令:
1# 查看最后一次重启的具体时间
2who -b
3
4# 查看系统当前运行时长(间接判断是否刚重启)
5uptime
6
7# 示例输出:uptime会显示 "15:02:34 up 4h 39m, 1 user, load average: 0.00, 0.01, 0.05"
8# 其中 "up 4h 39m" 代表系统已运行4小时39分钟,无重启举例:
1[root@hg-ecs ~]#who -b
2 system boot 2025-11-30 09:28
3
4
5[root@hg-ecs ~]#uptime
6 07:41:04 up 71 days, 22:12, 1 user, load average: 0.02, 0.04, 0.05 last reboot读取的是/var/log/wtmp文件(二进制日志),该文件会按大小/时间轮转(比如每月归档),如果服务器运行时间极长,可能无法统计到最早期的重启记录;last reboot | wc -l时,会包含最后一行的wtmp begins...表头,所以必须加grep -v "wtmp"排除,否则统计结果会多1;sudo(如sudo last reboot)。last reboot | grep -v "^$" | grep -v "wtmp" | wc -l(所有Linux通用);journalctl --list-boots,行数即重启次数;who -b 看最后重启时间,uptime 看运行时长,交叉确认结果。结束。
日历 · 精选 · 友链 · 更多
如果内容对你有帮助,欢迎请我喝杯咖啡 ☕



One的公众号
爱折腾博客的小白