若linux 的分区硬盘满,如何处理?
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了若linux 的分区硬盘满,如何处理?相关的知识,希望对你有一定的参考价值。
一、确定是不是真的是磁盘空间不足
输入命令: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 的分区硬盘满,如何处理?的主要内容,如果未能解决你的问题,请参考以下文章