最近在做服务器标准化,在把sendmail服务听了之后,发现有些机器的/var/spool/postfix/maildrop目录下有很多小文件,导致目录特别大,后来在网上看到这样一个说明:

1,原理分析:

通过调查,是由于linux在执行cron时,会将cron执行脚本中的output和warning信息,都会以邮件的形式发送Cron所有者, 而由于客户环境中的sendmail和postfix没有正常运行,导致邮件发送不成功,全部小文件堆积在了maildrop目录下面,而且没有自动清理转换的机制,所以长达一年的时间,此目录已堆积了大量的文件。查看man cron的信息,可以知道会发送给cron owner.

[root@mw1 postfix]# man cron

DESCRIPTION

Cron searches /var/spool/cron for crontab files which are named after accounts in crontabs found are loaded into memory. Cron also searches for /etc/crontab and the

files in the directory, which are in a different format (see crontab(5) ). Cron then wakes up every minute, examining all stored crontabs, checking each command to see

if it should be run in the current minute. When executing commands, any output is mailed to the owner of the crontab (or to the user named in the MAILTO environment

variable in the crontab, if such exists).


2, 解决方案:

在cron的第一行加入 MAILTO=""便可,这样执行当前用户的Cron时,不会发送邮件。


Please add the MAILTO="" in the head of cron , please see the blow sample.

[root@mw1 postfix]# crontab -e

MAILTO=""

*/5 * * * * /opt/OCMonitor/bin//ocSysMonitor -top -sar –netfmt


问题解决