centos磁盘爆满,查找大文件并清理

今天发现vps敲入crontab -e 居然提示 “Disk quota exceeded” 无法编辑。于是"df -h"查了查发现系统磁盘空间使用100%了。最后定位到是/var/spool/mail/root 这个文件有几个G。于是清理掉,问题解决。如果不知道是哪些文件占了磁盘空间,可以看下面查找大文件方法。

以下内容转自 http://hi.baidu.com/11haiou/item/f3a4878b601e084e840fab17

linux操作系统中,经常会遇到磁盘空间满的问题。遇到这样的问题,先查下是什么文件过大或过多引起的,至于引起这个更深一层的原因,先不探讨。怎么查看大文件所在的路径,linux中有一个命令,叫du,
先贴命令:du -m --max-depth=1或du -h --max-depth=1du:用于统计linux中文件或目录所占磁盘空间的大小du参数######-
m:以M为单位展示查询结果
-h:以K、M、G为单位展示查询结果,提高信息可读性
--max-depth=1:其中,数字“1”是指查询结果中最多显示的目录层数,这里指最多显示一层目录。示例如下:

然后,利用此命令,逐层(目录)深入,这样就一定会查询到大文件所在目录,但也有可能是目录中文件过多所致。当找到大文件后,若因某些原因,不想对文件进行删除,可以用echo或cat或clear命令清除文件内容:
echo > /var/log/big.log此命令会把/var/log目录中的big.log文件内容清除,而又不删除big.log文件
cat > /var/log/big.log此命令能与“echo > /var/log/big.log”达到相同效果,不过,命令执行后,需要用“Ctrl + d”结束
clear > /var/log/big.log此命令会把big.log文件内容清空,而不删除文件

==========================================================

另一种情况: 也可能是inode用完了.

用# df -i  可以查看。

真的是inode用完了,磁盘没法再写入新的内容了,这个是某些临时的小文件太多了,把inode用完了,把它删掉就行了。

# find /var/spool/clientmqueue -type f -print -exec rm -f {} \;
这个命令中 /var/spool/clientmqueue 是要删除的文件所在的目录 -type f这个参数限定find只查找普通文件(即不是管道文件,不是块文件,不是链接文件,不是目录等),防止误删除系统文件。

原因分析:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;

时间: 2024-10-23 05:15:08

centos磁盘爆满,查找大文件并清理的相关文章

centos磁盘满了,查找大文件并清理

今天发现vps敲入crontab -e 居然提示 “Disk quota exceeded” 无法编辑.于是"df -h"查了查发现系统磁盘空间使用100%了.最后定位到是/var/spool/mail/root 这个文件有几个G.于是清理掉,问题解决.如果不知道是哪些文件占了磁盘空间,可以看下面查找大文件方法. linux操作系统中,经常会遇到磁盘空间满的问题.遇到这样的问题,先查下是什么文件过大或过多引起的,至于引起这个更深一层的原因,先不探讨.怎么查看大文件所在的路径,linux

Linux 查看磁盘容量、查找大文件、查找大目录

Linux 查看磁盘容量.查找大文件.查找大目录 磁盘统计 查看磁盘使用情况 df -h 文件统计 查找/home 目录下大于800M的文件 find /home -type f -size +800M 查找/home 目录下大于800M的文件,并且使用ls -l 命令输出详细信息 find /home -type f -size +800M -print0|xargs -0 ls -l 查找/home 目录下大约800M的文件,并且使用du -h 命令输出文件的大小 find /home -t

系统清理——查找大文件

在系统中查找大文件的方法: 1. 统计当前文件夹的文件(或文件夹)大小.并依照从大到小的顺序排序 du -s /home/* | sort -nr * -h已易读的格式显示指定文件夹或文件的大小 * -s选项指定对于文件夹不具体显示每一个子文件夹或文件的大小 2. 查找大于100M的文件.并显示具体信息 find . -type f -size +100M -exec ls -lh {} \; find的处理动作能够是: -print     默觉得输出 -ls         显示查找到的文件

Linux如何查找大文件或目录总结(转)

在Windows系统中,我们可以使用TreeSize工具查找一些大文件或文件夹,非常的方便高效,在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法. 1: 如何查找大文件? 其实很多时候,你需要了解当前系统下有哪些大文件,比如文件大小超过100M或1G(阀值视具体情况而定).那么如何把这些大文件搜索出来呢?例如我要搜索当前目录下,超过800M大小的文件 [[email protected] u03]# pwd /u03 [[email

Linux如何查找大文件或目录总结

Linux如何查找大文件或目录总结 原帖地址:http://www.cnblogs.com/kerrycode/p/4391859.html  谢谢潇湘隐者,谢谢老大 在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法. 1 如何查找大文件 其实很多时候,你需要了解 /u01/app/oracle/oradata/prod/ 下有哪些大的数据文件,比如文件大小超过100M或1G(阀值视具体情况而定).那么如何把这些大文件搜索出来呢?

Linux如何查找大文件或目录总结-1127

原帖地址:http://www.cnblogs.com/kerrycode/p/4391859.html  谢谢潇湘隐者,谢谢老大 在Linux系统中,如何去搜索一些比较大的文件呢?下面我整理了一下在Linux系统中如何查找大文件或文件夹的方法. 1 如何查找大文件 其实很多时候,你需要了解 /u01/app/oracle/oradata/prod/ 下有哪些大的数据文件,比如文件大小超过100M或1G(阀值视具体情况而定).那么如何把这些大文件搜索出来呢? 1.1搜索指定目录下超过指定大小的文

不使用软件在Win7下查找大文件的方法

最近发现了一种可以不使用软件在win7系统下查找大文件的方法,分享如下: 第一步:打开我的电脑,进入要查找文件的磁盘.然后找到上边的搜索栏,如图: 第二步:在搜索栏中输入"大小:",如图: 第三步:输入完成后,在搜索栏下会弹出一个选项栏,可以选择查找文件的大小范围,如图: 第四步:可以直接选择需要查找的文件大小范围,如我选择巨大的查找结果如图: 第五步:如果感觉巨大的范围还是不够大,可以自己填写软件大小的查找范围,如"大小:>3GB"或"大小:>

linux系统查找大文件脚本

每次遇到服务器磁盘满,都会很苦恼,但有了下面两种方法就可以轻松找到机器中的大文件了, 第一种:du -sh du -sh 当前目录下个文件或目录的大小: du -sh * 显示前10个占用空间最大的文件或目录: du -s * | sort -nr | head 释:-s选项指定对于目录不详细显示每个子目录或文件的大; -h已易读的格式显示指定目录或文件的大小 第二种:find命令(-size) a.在/目录下查找1K的文件,有三种方式: find / -size 2 find / -size

linux查找大文件命令

测试服务器用久了,如果没有运行自动清除日志的脚本,会导致硬盘空间不足,应用.数据库.环境等启动不了: 如果你对系统不是特别熟悉,就无法知道那些占用空间的日志或缓存文件在哪里,这时,我们就可以利用查找大文件命令来找到可以清除的文件. 查看磁盘命令有: df  -h                                  查看当前磁盘总量.剩余.已用 du -sh                                查看当前文件大小 du -h   或者   du -m