在Linux系统中,查看开关机记录是系统维护、故障排查和安全审计的重要操作,以下是几种权威可靠的方法,适用于大多数Linux发行版(如Ubuntu、CentOS、Debian等),操作前请确保具备root权限或使用sudo
命令。last
命令读取 /var/log/wtmp
文件,记录所有登录、重启和关机事件。
last -x | grep -E "reboot|shutdown"
- 输出解读:
reboot
行:系统启动时间(如reboot system boot 5.4.0-xx ...
表示启动时间)。shutdown
行:系统关闭时间(如shutdown system down ...
表示关机时间)。- 第一列为事件类型,最后一列为持续时间(关机事件无持续时间)。
查看系统日志文件
系统日志是官方推荐的权威记录源,路径因发行版而异:
- 通用日志路径(需root权限):
sudo grep -E "systemd: Shutting down|systemd: Starting up|kernel: Power down" /var/log/syslog*
- 针对使用
journalctl
的系统(如Systemd):journalctl --list-boots # 列出所有启动会话(显示启动时间戳和会话ID) journalctl -b -0 # 查看当前启动的日志(-b后接启动ID,-0表示当前) journalctl -u systemd-shutdownd # 查看关机服务日志
使用专用命令获取启动时间
- 查看最后一次启动时间:
who -b # 输出示例:system boot 2025-06-20 09:15
- 查看系统运行时长(推算启动时间):
uptime -s # 输出精确启动时间(如 2025-06-20 09:15:32)
直接解析二进制日志文件
原始日志文件需专用工具解析:
/var/log/wtmp
:存储历史登录和重启记录(用last
命令解析)。/var/run/utmp
:存储当前登录信息(重启后重置)。- 使用
utmpdump
工具直接查看:sudo utmpdump /var/log/wtmp | grep -E "reboot|shutdown"
注意事项
- 权限要求:查看日志需
root
或sudo
权限。 - 日志轮转:日志文件可能被压缩或删除(如
wtmp.1.gz
),使用zcat
或zless
查看。 - 时间校准:确保系统时区正确(使用
timedatectl
检查)。 - 安全审计:完整开关机记录可用于追踪异常行为(如非授权重启)。
总结建议
- 快速查看:用
last -x
或who -b
。 - 深度分析:结合
journalctl
和系统日志。 - 关键文件:备份
/var/log/wtmp
和/var/log/syslog
避免丢失记录。
引用说明:本文方法参考 Linux 官方文档(kernel.org)、
man
手册(如man last
、man journalctl
)及 Systemd 开发者指南(freedesktop.org),确保内容符合 Linux 运维最佳实践。
原创文章,发布者:酷番叔,转转请注明出处:https://cloud.kd.cn/ask/10130.html