欢迎各位兄弟 发布技术文章

这里的技术是共享的

You are here

crontab任务输出数据会自动发送邮件 占据大量io和cpu 有大用 有大大用 有大大大用

/var/spool/clientmqueue目录下存在大量文件的原因及解决方法



问题现象:linux操作系统中的/var/spool/clientmqueue/目录下存在大量文件。原因分析:

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

解决办法:
1、 将crontab里面的命令后面加上 > /dev/null 2>&1
2、知识点:
2>:重定向错误。
2>&1:把错误重定向到输出要送到的地方。即把上述命令的执行结果重定向到/dev/null,即抛弃,同时,把产生的错误也抛弃。
3、清除/var/spool/clientmqueue/目录下的文件:
cd /var/spool/clientmqueue
rm -rf *
如果文件太多,占用空间太大,用上面命令删除慢的话,就执行下面的命令:
cd /var/spool/clientmqueue
ls | xargs rm -f


来自 https://www.cnblogs.com/joshua317/p/8109404.html


 

分类: LINUX

2012-05-07 10:51:59


今天发现一台机器上的根目录快没空间了,经查找发现如下文件和目录占用了大量的空间.
/var/spool/mail/root
/var/spool/mqueue    #邮件队列
/var/spool/clientmqueue

发生这个情况的原因是cront设置不合理,导致给root发大量的邮件.
把这些文件清除,重新调整一下crontab 就ok了.


来自   http://blog.chinaunix.net/uid-24250828-id-3199072.html



crontab中任何程序产生的输出都会以邮件的形式发送出来,发送对象一般由MAILTO指定。如果你没有接受到邮件,一般有一下几种可能:

1.任务根本无法执行

2.发送邮件失败

3.任务不会有任务输出

配置示例如下:

MAILTO=my.offsite.email@example.org


00 15 * * *  echo "Just testing if crond sends email"


00 15 * * * /a/command; touch /tmp/a_command_has_run



如果不希望持续的收到邮件,可以使用如下方式:


00 15 * * * /a/command; touch /tmp/a_command_has_run  >/dev/null 2>/dev/null &



来自 https://blog.csdn.net/jianhong1990/article/details/45697025




普通分类: