若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 的分区硬盘满,如何处理?的主要内容,如果未能解决你的问题,请参考以下文章

linux根分区满了如何处理,查找大文件方法

Linux服务器磁盘满了如何处理

磁盘上没有足够空间完成此操作,求教如何处理?

片段如何处理触摸?

磁盘阵列更换硬盘后出现“已降级”的问题,如何处理?

删除硬盘的文件,但是硬盘空间没有释放,怎么回事?如何处理?