若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的日志就归零了。

猜你喜欢

转载自www.cnblogs.com/feixiablog/p/9690713.html
今日推荐