Linux云服务器如何判断系统是否发生过异常断电?

在 Linux(Ubuntu)系统中,判断系统是否发生过异常断电 (非正常关机),主要有以下三种方法。其中 方法一 是最准确的,因为它利用了系统的"正常关机标记"机制。

文章目录

方法一:查看系统启动日志中的"文件系统检查"记录(最推荐)

Linux 系统在启动时会检查文件系统。如果上一次关机是正常的(执行了 shutdownreboot),系统会在磁盘上留下一个"干净"的标记。如果是突然断电,这个标记没来得及写,系统下次启动时就会检测到,并强制进行文件系统检查(fsck)。

1. 使用 journalctl 查看

这是最快的方法。如果看到 UNEXPECTED INCONSISTENCYwas not cleanly unmounted,说明发生过异常断电。

bash 复制代码
# 搜索包含 "clean" 或 "check" 字样的启动记录
sudo journalctl -b -1 -u systemd-fsck
  • -b -1 :表示查看上一次启动的日志(如果你刚断电重启,就看这次启动的记录)。
  • 正常关机的显示Clean, 12345/67890 files, ...

    (说明关机正常,文件系统是干净的)

  • 异常断电的显示UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.

    或者
    The disk drive for / was not cleanly unmounted...

    (说明断电了,系统正在自动修复文件系统)

2. 查看 dmesg 内核日志

如果 journalctl 没看到,可以直接看内核打印的信息:

bash 复制代码
dmesg | grep -iE "dirty|unclean|fsck"
  • 如果输出中包含 resyncingjournal has been aborted,通常是异常断电的铁证。

方法二:查看 last -x 命令的关机时间

last 命令不仅记录登录,也记录系统状态的切换。加上 -x 参数可以看到关机(shutdown)和运行级别切换。

bash 复制代码
last -x | head -20

如何分析:

shutdownreboot 条目后面的时间跨度:

  • 正常情况shutdown system down 5.15.0-... Fri Jan 9 18:00 - 18:05 (00:05)

    (显示了明确的关机时间点)

  • 异常情况 : 你可能看不到 shutdown 条目,或者看到 crash 字样,或者上一次的 reboot 直接接在下一次的 reboot 之前,中间没有 shutdown 记录。

方法三:查看 /var/log/syslog 中的关机记录

系统正常关机时,rsyslog 服务会在停止前写入一条明确的日志。

bash 复制代码
# 搜索 syslog 中关于关机的记录
grep -i "shutdown complete" /var/log/syslog*
  • 正常关机 :会找到类似 System shutdown complete. 的字样,且时间戳对应你关机的时间。
  • 异常断电 :日志文件会在某个时间点戛然而止,后面紧接着就是下一次开机的日志,中间没有"Shutdown complete"的告别语。

总结:快速判断口诀

  1. 打开终端,输入:sudo journalctl -b -1 | grep -i clean
  2. 如果看到 "Clean" -> 上次关机正常。
  3. 如果看到 "Dirty""Inconsistency""Unclean" -> 上次是异常断电
相关推荐
平行云10 小时前
实时云渲染平台数据通道,支持3D应用文件上传下载分享无缝交互
linux·unity·云原生·ue5·gpu算力·实时云渲染·像素流送
谪星·阿凯10 小时前
Linux提权全攻略博客
linux·运维·服务器·网络安全
风度前端10 小时前
阿里云宝塔面板部署https证书
linux·后端·https
Yeats_Liao10 小时前
物联网接入层技术剖析(二):epoll到底是怎么工作的
java·linux·网络·物联网·信息与通信
带带弟弟学爬虫__10 小时前
dyAPP数据采集-个人主页、发布、搜索、评论
服务器·python·算法·flutter·java-ee·django
Donk_6710 小时前
什么是虚拟化
linux·运维
Shadow(⊙o⊙)10 小时前
Shell进程替换,自定义Shell解释器——字符串库函数灵活操作!
linux·运维·服务器·开发语言·c++·学习
IT大白鼠10 小时前
2019年Cloudflare全球宕机事件技术分析:正则表达式回溯失控与互联网基础设施脆弱性研究
运维·正则表达式·去中心化
funnycoffee12310 小时前
华为S5736交换机3层ECMP负载方式
linux·服务器·数据库
上海云盾-小余10 小时前
内网终端安全管控:筑牢企业内部网络入侵防火墙
服务器·网络·安全