Linux判断系统是否发生过异常断电的三种方法

 更新时间:2026年02月24日 08:54:47   作者:小满大王i  
在Linux(Ubuntu)系统中,判断系统是否发生过异常断电(非正常关机),主要有三种方法,其中方法一是最准确的,因为它利用了系统的正常关机标记机制,下面小编为大家详细说说

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

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

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

1. 使用journalctl查看

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

# 搜索包含 "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 没看到,可以直接看内核打印的信息:

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

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

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

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 服务会在停止前写入一条明确的日志。

# 搜索 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” -> 上次是异常断电

到此这篇关于Linux判断系统是否发生过异常断电的三种方法的文章就介绍到这了,更多相关Linux判断系统异常断电内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • apache 二级域名解析 (window与linux)

    apache 二级域名解析 (window与linux)

    apache 二级域名解析 window与linux下使用的方法。
    2009-11-11
  • yum install -y zlib zlib-devel 报错问题及解决

    yum install -y zlib zlib-devel 报错问题

    这篇文章主要介绍了yum install -y zlib zlib-devel 报错问题及解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • Linux多台服务器之间免密登录的实现步骤

    Linux多台服务器之间免密登录的实现步骤

    在日常的后端开发和运维工作中,我们经常需要频繁登录不同的服务器进行部署、排查问题或上传文件,传统的基于用户名和密码的登录方式既不安全又不高效,为此,我们可以利用 SSH 公钥认证的方式,实现无密码(免密)登录远程服务器,下面小编给大家详细说说
    2025-04-04
  • Apache Doris 中Compaction问题分析和典型案例分析

    Apache Doris 中Compaction问题分析和典型案例分析

    这篇文章主要介绍了Apache Doris 中Compaction问题分析和典型案例,本文给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2024-08-08
  • CentOS 7.3配置Nginx虚拟主机的方法步骤

    CentOS 7.3配置Nginx虚拟主机的方法步骤

    这篇文章主要介绍了CentOS 7.3配置Nginx虚拟主机的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • Apache禁止域名恶意指向网站的方法

    Apache禁止域名恶意指向网站的方法

    默认网站是可以通过ip访问的,所以可能会有些恶意的域名指向你的网站,下面与大家分享下Apache如何禁止域名恶意指向,比较实用,需要的朋友可以参考下
    2014-09-09
  • Linux知识点小结

    Linux知识点小结

    这篇文章主要为大家分享了Linux知识点,帮助大家更加详细的学习Linux
    2016-01-01
  • linux中的编译驱动到内核方式

    linux中的编译驱动到内核方式

    这篇文章主要介绍了linux中的编译驱动到内核方式,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教
    2025-09-09
  • bash命令使用详解

    bash命令使用详解

    在本篇文章里小编给大家分享的是关于bash命令使用的技巧和方法,有需要的朋友们学习下。
    2019-01-01
  • Linux 下如何检查内存使用率

    Linux 下如何检查内存使用率

    这篇文章主要介绍了Linux 下如何检查内存使用率,帮助大家更好的理解和学习Linux,感兴趣的朋友可以了解下
    2020-08-08

最新评论