跳到主要内容

last reboot命令

最后更新于:

查看 linux服务器下 重启了多少次命令?

你想在Linux服务器上查询系统累计重启的次数,我会给你几个实用、易操作的命令,涵盖不同场景(快速查看、精准统计、适配不同Linux系统),并解释每个命令的输出含义,让你能直接落地使用。

一、最常用的核心命令(所有Linux系统通用)

1. 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 2025
  • 每一行reboot开头的记录代表一次重启
  • still running代表当前正在运行的这次启动;
  • 统计命令中:
    • grep -v "^$":排除空行;
    • grep -v "wtmp":排除最后一行的表头(wtmp文件起始时间);
    • wc -l:统计行数,最终数值就是重启次数(如上例输出3行有效记录,即重启3次)。

2. 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 ~]#
  • 每行代表一次系统启动(重启),行数就是重启次数(如上例共3行,即重启3次);
  • 第一列的数字: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      

三、注意事项(避免统计错误)

  1. 日志轮转问题last reboot读取的是/var/log/wtmp文件(二进制日志),该文件会按大小/时间轮转(比如每月归档),如果服务器运行时间极长,可能无法统计到最早期的重启记录;
  2. 表头排除:用last reboot | wc -l时,会包含最后一行的wtmp begins...表头,所以必须加grep -v "wtmp"排除,否则统计结果会多1;
  3. 权限问题:普通用户执行这些命令可能看不到完整日志,建议加sudo(如sudo last reboot)。

总结

  1. 快速统计重启次数:优先用 last reboot | grep -v "^$" | grep -v "wtmp" | wc -l(所有Linux通用);
  2. 精准统计+看启动详情:Systemd系统用 journalctl --list-boots,行数即重启次数;
  3. 辅助验证:用 who -b 看最后重启时间,uptime 看运行时长,交叉确认结果。

结束。

最新文章

文档导航