這裡為大家分享一個關於如何快速找到系統中的大文件的辦法。
最近接到個用戶的報障,說是門戶網站出現故障,控制台提示日志寫入錯誤。最開始懷疑是有磁盤損壞,文件系統自動啟用保護掛載為只讀模式,日志無法寫入。
經排查,發現是應用日志沒有設置啟動清理,導致日志文件非常大將磁盤空間占滿。排查過程用到了如何快速找到大文件的方法。
一 分析問題
門戶網站故障,控制台提示日志寫入錯誤:無法寫入日志。由於之前出現過磁盤損壞導致文件系統掛載為只讀模式的故障,懷疑這次也是同樣原因。機房維護人員檢查未發現磁盤損壞告警,只能從其他方面進行排查。
二 解決方法
2.1 查看磁盤空間
通過命令df -lH查看磁盤空間,發現磁盤空間已經爆滿:
由於該服務器上並沒有存放任何業務數據,正常情況下磁盤空間使用情況不會有太大變化。磁盤空間使用率100%屬於不正常現象,可能是用戶自己上傳了一些大文件導致空間被占滿。
2.2 查看各個目錄的大小
這裡就要介紹到Linux下可以查看目錄或者文件大小的命令:du
du和df不同,du可以精確的統計並且排序各個目錄以及子目錄或者文件的大小。
我們看到這個服務器只有一個邏輯卷,並且掛載在根目錄下,於是對根目錄下的目錄大小進行統計。
首先查看根目錄下有哪些目錄:
還好不是很多,統計起來應該不會太慢。注意,如果服務器上存在有文件數量非常多的目錄時,統計時間會過長。
統計根目錄下各個目錄的大小:
這裡的-h是指以K、M、G來顯示大小,--max-depth=1是指只統計第一級目錄。
可以看到/weblogic這個目錄異常的大,達到了7.8G,幾乎占了磁盤空間的一半。
進入這個目錄,查看是否存在異常大小或者數量的文件。
可以看到三個log文件已經快達到8G了,它們就是罪魁禍首了!
三 小結
最後通過詢問應用廠家得知,由於安全加固,將原本自動定期清理log的設置撤除了,導致日志無限制的增長最後將磁盤空間直接占滿了。將應用日志進行清理後,門戶網站恢復了正常。安全加固是服務器應該及時進行的工作,但是每一次安全加固前應該對加固措施進行審核,以免導致故障。