linux系统查询重启历史命令
linux系统查询重启历史命令详细介绍
在 Linux 系统中,查询重启历史的常用方法如下,根据系统日志机制(传统日志或 systemd)略有不同:
方法一:使用 last 命令(通用方法)
last 命令可显示系统登录 / 登出历史,包括重启记录(系统重启会被标记为 reboot 事件)。
bash
last
- 输出说明:
- 每一行代表一次重启,包含重启时间、持续时间(若非正常关机可能无结束时间)、终端(显示为
~)、IP 地址(本地重启为localhost)。 - 示例:plaintext
reboot system boot 5.15.0-87-generic Wed Apr 23 10:00 - 10:30 (00:30)reboot system boot 5.15.0-86-generic Tue Apr 22 15:00 - 15:30 (00:30)
- 每一行代表一次重启,包含重启时间、持续时间(若非正常关机可能无结束时间)、终端(显示为
方法二:通过 systemd 日志(适用于 systemd 系统,如 Ubuntu 16.04+/CentOS 7+)
使用 journalctl 命令查询启动历史:
- 列出所有启动记录(每个启动有唯一编号):
bashjournalctl --list-boots- 输出示例:plaintext
-1 41a5d42... Wed 2025-04-23 10:00:00 CST—Wed 2025-04-23 10:30:00 CST0 8b2c1d3... Tue 2025-04-22 15:00:00 CST—Tue 2025-04-22 15:30:00 CST
- 输出示例:plaintext
- 查看某次启动的详细日志(例如编号
-1代表前一次启动):
bashjournalctljournalctl
方法三:直接搜索日志文件
传统日志系统(如使用 syslog)可通过以下命令搜索启动关键词:
bash
/var/log/syslog/var/log/messages
- 日志中会包含类似
system boot或Kernel command line的启动信息,附带时间戳。
注意事项
- 权限:上述命令需管理员权限(
sudo),因日志文件通常仅 root 可访问。 - 日志文件位置:不同发行版日志路径可能略有差异(如 Arch 使用
/var/log/btmp,但last命令会自动定位)。 - 日志保存时间:日志文件可能受日志轮转策略影响(如
/etc/logrotate.conf),旧记录可能被归档或删除。
根据系统类型选择合适方法,last 命令简单直观,journalctl 则适合 systemd 环境下的详细分析。