在银河麒麟系统中,最准确获取最近关机与重启时间的方法是使用last -x命令读取/var/log/wtmp日志,其中“shutdown system down”和“reboot system boot”行末的时间戳即为对应事件发生时刻;若仅需最近一次关机和重启,可用last -x | grep -e "shutdown|reboot" | head -n 2,首行为最新shutdown,次行为最新reboot。

在银河麒麟系统中准确获取最近关机与重启发生的具体时间点,需依赖系统内核和 systemd 记录的原始事件日志,因为图形界面不提供该信息,且关机后系统无法主动上报自身状态。
用 last 命令查关机与重启原始记录
last 命令直接读取 /var/log/wtmp 文件,该文件由内核持续写入,每条 shutdown、reboot、runlevel 条目都带完整时间戳,不受 journal 轮转影响,是追溯开关机行为最稳定的方法。
打开终端(Ctrl+Alt+T)→ 输入命令:last -x → 回车执行。
输出中包含三类关键行:“shutdown system down”表示关机,“reboot system boot”表示重启,“runlevel (to lvl X)”表示运行级别切换(如关机对应 runlevel 0)。时间字段在每行末尾,例如 Wed Oct 1 22:15 即为事件发生时刻。
若只想快速看到最近一次关机和最近一次重启,执行:last -x | grep -E "shutdown|reboot" | head -n 2。注意:该命令输出顺序是倒序的,第一行是最新 shutdown,第二行是最新 reboot——【不要误将 reboot 行当作 shutdown】。
用 journalctl 查看结构化开关机事件
此方法适用于 systemd 环境且已启用持久化日志的系统,能精准捕获 shutdown、poweroff、reboot 等关键词触发的结构化日志,但前提是上一次关机时系统正常运行并完成日志落盘。
方法一:查看本次启动前的关机与重启事件
执行:sudo journalctl -b -1 | grep -i "shutting down\|reboot\|poweroff\|halt"。该命令只检索上一个 boot 会话,避免混入当前运行周期的干扰日志。
方法二:全局搜索最后出现的关机或重启消息
执行:sudo journalctl | grep -i "shutting down\|reboot\|poweroff" | tail -n 1。若返回空结果,说明系统未启用 journal 持久化,需先运行 sudo mkdir -p /var/log/journal/ && sudo systemctl restart systemd-journald。
从 syslog 或 messages 中提取文本型开关机记录
当 wtmp 无记录或 journalctl 不可用时,rsyslog 写入的传统文本日志是最后可用依据,尤其适用于服务器版麒麟系统。
第一步:确认日志文件是否存在且可读sudo ls -l /var/log/syslog /var/log/messages 2>/dev/null
第二步:若 /var/log/syslog 存在,提取最近一条关机或重启记录sudo grep -i "shutdown\|reboot\|poweroff" /var/log/syslog | tail -n 1
第三步:若 /var/log/messages 更活跃(常见于中标麒麟服务器版),则执行sudo grep -i "system halted\|runlevel 0\|reboot:" /var/log/messages | tail -n 1。注意:runlevel 0 表示关机,runlevel 6 表示重启,【匹配时务必区分 0 和 6】。











