在Linux系统中,查看重启记录是系统管理和故障排查的重要操作,通过分析重启时间、原因和频率,管理员可以评估系统稳定性、排查硬件或软件问题,以下是几种专业可靠的方法,适用于不同发行版(如Ubuntu、CentOS、Debian等):last
命令直接读取二进制日志文件 /var/log/wtmp
,记录所有登录和重启事件。
操作步骤:
- 打开终端,输入:
last reboot
- 输出解读:
reboot system boot 5.4.0-91-generic Tue Mar 15 09:30 - 11:45 (2+02:15) reboot system boot 5.4.0-90-generic Mon Mar 14 08:00 - 09:20 (1+01:20)
- 每行显示一次重启记录,包括内核版本、日期、持续运行时间。
- 时间格式:
(天数+小时:分钟)
表示系统持续运行时长。
- 常用参数:
last reboot -n 5
:仅显示最近5次重启。last -x | grep reboot
:结合其他系统事件(如关机)查看。
通过 journalctl
查询(Systemd系统专用)
适用于使用Systemd的现代发行版(Ubuntu 16.04+、CentOS 7+),可查看详细日志。
操作步骤:
- 输入命令:
journalctl --list-boots # 列出所有启动记录
输出示例:
0 abc123 Tue 2025-10-10 08:00:00 EDT → Tue 2025-10-10 18:00:00 EDT 1 def456 Mon 2025-10-09 07:30:00 EDT → Mon 2025-10-09 20:00:00 EDT
每行包含启动序号、ID、起止时间。
- 查看某次启动的详细日志:
journalctl -b -0 # 查看当前启动日志(-0表示最近一次) journalctl -b -1 # 查看上一次启动日志
检查 /var/log
下的日志文件
系统日志文件是原始记录源,需结合工具分析:
/var/log/syslog
或/var/log/messages
:- Ubuntu/Debian:
grep "systemd-logind" /var/log/syslog
- CentOS/RHEL:
grep "systemd: Started" /var/log/messages
- Ubuntu/Debian:
/var/log/boot.log
:
记录启动过程中的服务状态:cat /var/log/boot.log # 直接查看内容
快速查看最后一次启动时间
who -b
命令:who -b # 输出示例:system boot 2025-10-10 08:00
uptime
命令:uptime -s # 显示系统启动的具体时间(2025-10-10 08:00:00)
高级工具:sar
(系统活动报告)
需安装 sysstat
包,记录历史性能数据(包括重启):
- 安装与启用:
sudo apt install sysstat # Debian/Ubuntu sudo yum install sysstat # CentOS/RHEL sudo systemctl enable sysstat
- 查看重启记录:
sar -q # 检查负载记录,空白时段可能为重启
应用场景建议
- 快速检查:用
last reboot
或who -b
。 - 深度分析:结合
journalctl
和/var/log
日志。 - 长期监控:启用
sar
记录历史数据。
注意:部分命令需
root
权限(如journalctl
和日志文件查看),普通用户可加sudo
执行。
常见问题
- 无重启记录?
- 检查日志是否被轮转或清理:
ls -l /var/log/wtmp*
。 - 确保系统日志服务(如
rsyslog
)正常运行。
- 检查日志是否被轮转或清理:
- 时间不对?
用timedatectl
校对时区:sudo timedatectl set-timezone Asia/Shanghai
。
参考资料:
- Linux手册页:
man last
,man journalctl
,man syslog
- Systemd官方文档:freedesktop.org
- Sysstat工具文档:github.com/sysstat/sysstat
- Linux日志管理规范:RFC 5424(Syslog协议)
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/8971.html