/var/spool/clientmqueue下生成太多文件处理

本文介绍了如何解决Linux系统中/var/spool/clientmqueue目录下存在大量文件的问题,通过修改crontab命令、重定向错误输出及清除目录下文件的方法进行解决,并提供了具体代码示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

问题现象:
linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件。
原因分析:系统中有用户开启了cron,而cron中执行的程序有输出内容,输出内容会以邮件形式发给cron的用户,而sendmail没有启动所以就产生了这些文件;所以这些文件不是什么重要的文件,可以直接删除!
解决办法:
1、 将crontab里面的命令后面加上> /dev/null 2>&1
2、知识点:
2>:重定向错误。
2>&1:把错误重定向到输出要送到的地方。即把上述命令的执行结果重定向到/dev/null,即抛弃,同时,把产生的错误也抛弃。
3、具体代码:
(1)、# crontab -u cvsroot -l
01 01 * * * /opt/bak/backup
01 02 * * * /opt/bak/backup2
(2)、# vi /opt/bak/backup
#!/bin/sh
cd /
getfacl -R repository > /opt/bak/backup.acl
(3)、# vi /opt/bak/backup2
#!/bin/sh
week=`date +%w`
tar zcvfp /opt/bak/cvs$week/cvs.tar.gz /repository >/dev/null 2>&1
4、清除/var/spool/clientmqueue/目录下的文件:
# cd /var/spool/clientmqueue
# rm -rf * (显示参数列表过长(-bash: /bin/rm: Argument list too long)无法用rm直接删除)
如果文件太多,用rm删除很慢,可以以root身份进入/var/spool/clientmqueue/执行下面的命令:
# cd /var/spool/clientmqueue
# ls | xargs rm -f 
回车后,过了两三分钟,终于执行完了,clientmqueue下空空如也.

5、crontab 中注意脚本输出后的错误抛弃:

 

[oracle@linux-125 ~]$ crontab -l

0 5 * * * /data/orabak/some.sh>/dev/null 2>&1

0 1 * * * /data/orabak/expor.sh>/dev/null 2>&1

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值