Linux判斷系統(tǒng)是否發(fā)生過(guò)異常斷電的三種方法
在 Linux(Ubuntu)系統(tǒng)中,判斷系統(tǒng)是否發(fā)生過(guò)異常斷電(非正常關(guān)機(jī)),主要有以下三種方法。其中 方法一 是最準(zhǔn)確的,因?yàn)樗昧讼到y(tǒng)的“正常關(guān)機(jī)標(biāo)記”機(jī)制。
方法一:查看系統(tǒng)啟動(dòng)日志中的“文件系統(tǒng)檢查”記錄(最推薦)
Linux 系統(tǒng)在啟動(dòng)時(shí)會(huì)檢查文件系統(tǒng)。如果上一次關(guān)機(jī)是正常的(執(zhí)行了 shutdown 或 reboot),系統(tǒng)會(huì)在磁盤(pán)上留下一個(gè)“干凈”的標(biāo)記。如果是突然斷電,這個(gè)標(biāo)記沒(méi)來(lái)得及寫(xiě),系統(tǒng)下次啟動(dòng)時(shí)就會(huì)檢測(cè)到,并強(qiáng)制進(jìn)行文件系統(tǒng)檢查(fsck)。
1. 使用journalctl查看
這是最快的方法。如果看到 UNEXPECTED INCONSISTENCY 或 was not cleanly unmounted,說(shuō)明發(fā)生過(guò)異常斷電。
# 搜索包含 "clean" 或 "check" 字樣的啟動(dòng)記錄 sudo journalctl -b -1 -u systemd-fsck
-b -1:表示查看上一次啟動(dòng)的日志(如果你剛斷電重啟,就看這次啟動(dòng)的記錄)。
正常關(guān)機(jī)的顯示:
Clean, 12345/67890 files, ...
(說(shuō)明關(guān)機(jī)正常,文件系統(tǒng)是干凈的)
異常斷電的顯示:
UNEXPECTED INCONSISTENCY; RUN fsck MANUALLY.
或者
The disk drive for / was not cleanly unmounted...
(說(shuō)明斷電了,系統(tǒng)正在自動(dòng)修復(fù)文件系統(tǒng))
2. 查看dmesg內(nèi)核日志
如果 journalctl 沒(méi)看到,可以直接看內(nèi)核打印的信息:
dmesg | grep -iE "dirty|unclean|fsck"
- 如果輸出中包含
resyncing或journal has been aborted,通常是異常斷電的鐵證。
方法二:查看last -x命令的關(guān)機(jī)時(shí)間
last 命令不僅記錄登錄,也記錄系統(tǒng)狀態(tài)的切換。加上 -x 參數(shù)可以看到關(guān)機(jī)(shutdown)和運(yùn)行級(jí)別切換。
last -x | head -20
如何分析:
看 shutdown 或 reboot 條目后面的時(shí)間跨度:
正常情況:
shutdown system down 5.15.0-... Fri Jan 9 18:00 - 18:05 (00:05)
(顯示了明確的關(guān)機(jī)時(shí)間點(diǎn))
異常情況:
你可能看不到 shutdown 條目,或者看到 crash 字樣,或者上一次的 reboot 直接接在下一次的 reboot 之前,中間沒(méi)有 shutdown 記錄。
方法三:查看/var/log/syslog中的關(guān)機(jī)記錄
系統(tǒng)正常關(guān)機(jī)時(shí),rsyslog 服務(wù)會(huì)在停止前寫(xiě)入一條明確的日志。
# 搜索 syslog 中關(guān)于關(guān)機(jī)的記錄 grep -i "shutdown complete" /var/log/syslog*
- 正常關(guān)機(jī):會(huì)找到類(lèi)似
System shutdown complete.的字樣,且時(shí)間戳對(duì)應(yīng)你關(guān)機(jī)的時(shí)間。 - 異常斷電:日志文件會(huì)在某個(gè)時(shí)間點(diǎn)戛然而止,后面緊接著就是下一次開(kāi)機(jī)的日志,中間沒(méi)有“Shutdown complete”的告別語(yǔ)。
總結(jié):快速判斷口訣
- 打開(kāi)終端,輸入:
sudo journalctl -b -1 | grep -i clean - 如果看到 “Clean” -> 上次關(guān)機(jī)正常。
- 如果看到 “Dirty”、“Inconsistency” 或 “Unclean” -> 上次是異常斷電。
到此這篇關(guān)于Linux判斷系統(tǒng)是否發(fā)生過(guò)異常斷電的三種方法的文章就介紹到這了,更多相關(guān)Linux判斷系統(tǒng)異常斷電內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
apache 二級(jí)域名解析 (window與linux)
apache 二級(jí)域名解析 window與linux下使用的方法。2009-11-11
yum install -y zlib zlib-devel 報(bào)錯(cuò)問(wèn)題
這篇文章主要介紹了yum install -y zlib zlib-devel 報(bào)錯(cuò)問(wèn)題及解決方案,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2023-04-04
Linux多臺(tái)服務(wù)器之間免密登錄的實(shí)現(xiàn)步驟
在日常的后端開(kāi)發(fā)和運(yùn)維工作中,我們經(jīng)常需要頻繁登錄不同的服務(wù)器進(jìn)行部署、排查問(wèn)題或上傳文件,傳統(tǒng)的基于用戶名和密碼的登錄方式既不安全又不高效,為此,我們可以利用 SSH 公鑰認(rèn)證的方式,實(shí)現(xiàn)無(wú)密碼(免密)登錄遠(yuǎn)程服務(wù)器,下面小編給大家詳細(xì)說(shuō)說(shuō)2025-04-04
Apache?Doris?中Compaction問(wèn)題分析和典型案例分析
這篇文章主要介紹了Apache?Doris?中Compaction問(wèn)題分析和典型案例,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友參考下吧2024-08-08
CentOS 7.3配置Nginx虛擬主機(jī)的方法步驟
這篇文章主要介紹了CentOS 7.3配置Nginx虛擬主機(jī)的方法步驟,小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,也給大家做個(gè)參考。一起跟隨小編過(guò)來(lái)看看吧2019-02-02
linux中的編譯驅(qū)動(dòng)到內(nèi)核方式
這篇文章主要介紹了linux中的編譯驅(qū)動(dòng)到內(nèi)核方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2025-09-09

