Linux判断系统是否发生过异常断电的三种方法
在 Linux(Ubuntu)系统中,判断系统是否发生过异常断电(非正常关机),主要有以下三种方法。其中 方法一 是最准确的,因为它利用了系统的“正常关机标记”机制。
方法一:查看系统启动日志中的“文件系统检查”记录(最推荐)
Linux 系统在启动时会检查文件系统。如果上一次关机是正常的(执行了 shutdown 或 reboot),系统会在磁盘上留下一个“干净”的标记。如果是突然断电,这个标记没来得及写,系统下次启动时就会检测到,并强制进行文件系统检查(fsck)。
1. 使用journalctl查看
这是最快的方法。如果看到 UNEXPECTED INCONSISTENCY 或 was 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"
- 如果输出中包含
resyncing或journal has been aborted,通常是异常断电的铁证。
方法二:查看last -x命令的关机时间
last 命令不仅记录登录,也记录系统状态的切换。加上 -x 参数可以看到关机(shutdown)和运行级别切换。
last -x | head -20
如何分析:
看 shutdown 或 reboot 条目后面的时间跨度:
正常情况:
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”的告别语。
总结:快速判断口诀
- 打开终端,输入:
sudo journalctl -b -1 | grep -i clean - 如果看到 “Clean” -> 上次关机正常。
- 如果看到 “Dirty”、“Inconsistency” 或 “Unclean” -> 上次是异常断电。
到此这篇关于Linux判断系统是否发生过异常断电的三种方法的文章就介绍到这了,更多相关Linux判断系统异常断电内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
21个常用的apache .htaccess文件配置技巧分享
这篇文章主要介绍了21个常用的apache .htaccess文件配置技巧分享,涵盖了网站中最常用的一些功能需求解决办法,需要的朋友可以参考下2014-07-07
centos7.2搭建nginx的web服务器部署uniapp项目
这篇文章主要介绍了centos7.2搭建nginx的web服务器部署uniapp项目,本文给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下2019-10-10
linux守护进程服务daemon、nohup、systemd的区别
守护进程(Daemon)是指在后台运行的进程,不与用户直接交互,且在系统启动时自动运行,nohup是一个命令行实用程序,用于在用户注销后继续运行命令,Systemd用于管理和启动服务,支持复杂的依赖管理和自动启动2025-03-03
Apache下开启SSI配置使html支持include包含的方法
这篇文章主要介绍了Apache下开启SSI配置使html支持include包含的方法,需要的朋友可以参考下2016-10-10
centos下root运行Elasticsearch异常问题解决
这篇文章主要介绍了centos下root运行Elasticsearch异常问题解决的相关资料,Elasticsearch异常问题解决办法详细介绍,需要的朋友可以参考下2016-11-11


最新评论