麒麟v10中查最后一次关机时间,首选last -x | grep "shutdown" | head -n 1命令,可直接从/var/log/wtmp提取最近shutdown条目,如“shutdown system down thu apr 30 23:45”;其次可用sudo journalctl -b -1 | grep -i "shutting down"定位上一次启动周期内的关机日志。

如果您需要在麒麟V10操作系统中确定系统最后一次关机发生的具体时间,但无法通过常规界面获取该信息,则需依赖系统日志中由 shutdown 或 reboot 事件留下的记录。以下是查询最后一次关机时间的多种可行方法:
一、使用 last 命令查看关机与重启历史
last 命令读取 /var/log/wtmp 文件,该文件持续记录所有登录、注销、关机(shutdown)及重启(reboot)事件,每条记录包含精确的时间戳和操作类型,是追溯关机行为最直接的依据。
1、打开终端(快捷键 Ctrl+Alt+T)。
2、输入命令:last -x | grep "shutdown"。
3、回车后将列出所有关机条目,格式为:shutdown system down Thu Apr 30 23:45 - 00:12 (00:27),其中 Thu Apr 30 23:45 即为最近一次关机的日期与时间。
4、若需快速定位最新一条关机记录,可执行:last -x | grep "shutdown" | head -n 1。
二、解析 journalctl 日志筛选 shutdown 事件
在 systemd 环境下,关机指令(如 systemctl poweroff 或 shutdown -h now)会触发 systemd-logind 或 kernel 的关机信号,并被 journald 捕获为结构化日志条目。journalctl 可按关键词与时间倒序精准提取。
1、在终端中执行:sudo journalctl --since "2026-04-01" | grep -i "shutting down\|poweroff\|halt"。
2、为提高准确性,限定仅显示本次启动前的日志(即上一次运行周期):sudo journalctl -b -1 | grep -i "shutting down"。
3、若系统已启用持久化日志,可检索全部历史中最后出现的关机消息:sudo journalctl | grep -i "shutting down" | tail -n 1。
三、检查 /var/log/syslog 或 /var/log/messages 中的 shutdown 记录
rsyslog 服务在关机前会将 shutdown 命令执行日志写入传统文本日志文件,内容包含时间戳与调用进程信息,适用于无 systemd 或日志持久化异常的场景。
1、确认日志文件存在并可读:sudo ls -l /var/log/syslog /var/log/messages 2>/dev/null。
2、若 syslog 存在,执行:sudo grep -i "shutdown\|poweroff" /var/log/syslog | tail -n 1。
3、若 messages 更活跃(常见于服务器版),则执行:sudo grep -i "system halted\|runlevel 0" /var/log/messages | tail -n 1。
四、通过 dmesg 提取关机前内核终止信号
dmesg 缓冲区虽在重启后清空,但在某些未完全重置的场景下仍保留关机瞬间的内核消息,如 “Kernel logging (proc) stopped.” 或 “Power down.”,其时间戳可辅助交叉验证。
1、执行命令:sudo dmesg -T | grep -i "power down\|stopped\|halted"。
2、若输出非空,最后一行的时间即为关机发生的近似时刻;注意该时间依赖硬件时钟精度,需确保 timedatectl status 中 RTC in local TZ 显示为 no,否则可能偏移8小时。
五、比对 wtmp 与 journal 时间一致性校验
当 last 与 journalctl 结果不一致时,说明系统存在时钟漂移、日志轮转或 wtmp/journal 不同步问题,此时应以 /var/log/wtmp 记录为准,并同步硬件时钟。
1、比对两条命令输出的关机时间是否一致:last -x | grep shutdown | head -n 1 与 sudo journalctl -b -1 | grep -i "shutting down" | head -n 1。
2、若差异显著,立即执行:sudo timedatectl set-local-rtc 0 并重启 chronyd 服务。
3、重新生成 wtmp 快照:sudo cp /var/log/wtmp /var/log/wtmp.$(date +%Y%m%d)。











