在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