/var/spool/clientmqueue分析处理及海量文件删除处理
/var/spool/clientmqueue分析处理及海量文件删除处理
/var/spool/clientmqueue分析处理及海量文件删除处理
某个服务器的/var/spool/clientmqueue目录存在很多文件,ls都要执行好半天,网上查了一圈,记录如下:
产生原因:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;
解决办法:将crontab里面的命令后面加上 > /dev/null 2>&1
知识点
2>:重定向错误。
2>&1:把错误重定向到输出要送到的地方。即把上述命令的执行结果重定向到/dev/null,即抛弃,同时,把产生的错误也抛弃。
清除海量文件办法:直接使用ls都有点困难,网上很多说用ls | xargs rm -f,这个方法可能会导致服务器负载升高,推荐使用如下方法:
1.建立一个空目录
Shell代码
mkdir /data/blank
2.用rsync删除目标目录:
Shell代码
rsync --delete-before -a -H -v --progress --stats /data/blank/ /targetdir
参数说明:
–delete-before 接收者在传输之前进行删除操作
–progress 在传输时显示传输过程
-a 归档模式,表示以递归方式传输文件,并保持所有文件属性
-H 保持硬连接的文件
-v 详细输出模式
–stats 给出某些文件的传输状态
-d transfer directories without recursing
评论暂时关闭