若linux 的分區硬盤滿,如何處理?
阿新 • • 發佈:2018-09-22
span 順序 args div apache 清理 管理 kill 目錄結構
一、確定是不是真的是磁盤空間不足
輸入命令:df –lh 查看磁盤信息
二、如何定位最大文件目錄
輸入命令:cd / 進入根目錄。 輸入命令:du -h max-depth=1 尋找當前目錄,哪個文件夾占用空間最大
三、如何定位最大文件
輸入命令:ls –lhS 將文件以從大到小順序展現
四、確認文件未被占用
谷歌一下,發現了這麽一段話:
在Linux或者Unix系統中,通過rm或者文件管理器刪除文件將會從文件系統的目錄結構上解除鏈接(unlink).然而如果文件是被打開的(有一個進程正在使用),那麽進程將仍然可以讀取該文件 ,磁盤空間也一直被占用。
輸入命令:/usr/sbin/lsof|grep deleted 確認刪除文件是否被占用
確實被占用。根據第二列提供的pid,
輸入命令:kill -9 13117 殺掉進程
再次輸入命令:df –lh
磁盤空間被釋放了。
日誌的清除
個人認為刪除日誌文件是比較不明智的,因為刪除之後還要去清理回收站才算徹底清除幹凈。
以wdcp系統的日誌來說,可以用find命令查看一下。
find / -size +100M |xargs ls -lh
我的系統裏面主要是4個比較大的文件。
/www/wdlinux/nginx-1.0.15/logs/access.log /www/wdlinux/nginx-1.0.15/logs/error.log /www/wdlinux/httpd-2.2.22/logs/error_log /www/wdlinux/httpd-2.2.22/logs/access_log
Nginx的access日誌高達149g,占去了相當大的磁盤空間,這個是系統nginx環境的日誌,另外的是apache的訪問日誌。 在這裏不建議刪除,而已重寫,這樣比較快捷,免去很多麻煩。用putty登陸ssh,然後用cat命令重寫這幾個文件。
cat /dev/null >/www/wdlinux/nginx-1.0.15/logs/access.log cat /dev/null > /www/wdlinux/nginx-1.0.15/logs/error.log cat /dev/null > /www/wdlinux/httpd-2.2.22/logs/error_log cat /dev/null > /www/wdlinux/httpd-2.2.22/logs/access_log
這樣上百G的日誌就歸零了。
若linux 的分區硬盤滿,如何處理?