linux-文件太多了,如何快速清空?

前言

在Centos/REHL服务器上面,如果crontab输出没有重定向,就会输出到邮件,那这些邮件到哪里去了呢?一般是放到了/var/spool/mail/里面。

但是如果没有开启邮件服务器呢?那就会放到/var/spool/clientmqueue/里面,而且还是一封邮件就是一个文件地存放。

那么问题来了,磁盘在格式化的时候inode就固定了,所以太多的小文件会导致inode用空,导致磁盘无法被写入。

今天就遇到/var/spool/clientmqueue/ 这个目录的文件过多导致,磁盘出现无法写入。

linux-文件太多了,如何快速清空?

尝试解决

使用

rm -f /var/spool/clientmqueue/*

出现报错:

Argument list too long

显然不行,使用管道xargs呢,文件太多肯定也慢,find也是一样。

使用同步来删除

创建一个空的目录,然后通过rsync同步删除目录文件:

mkdir /tmp/dir1/

rsync -ar --delete /tmp/dir1/ /var/spool/clientmqueue/

chown smmsp:smmsp /var/spool/clientmqueue/

这样子速度就很快了!

linux-文件太多了,如何快速清空?

相关推荐