mysql spool_/var/spool/postfix/maildrop 出现大量文件原因和解决办法

今天发现服务器硬盘报警,出现空间不足的情况,后经查看发现是 /var/spool/postfix/maildrop 有大量文件,但服务器本身没有启动 postfix服务。

继续上网查资料,发现是crontab 每次执行任务后会发送邮件,接受者是在他的配置文件 “/etc/crontab” 通过 MAILTO=root’ 来设置的,默认是root,如果执行输出没有十分必要要用邮件发送的话,可以修改此处。

下面是两个解决方法

关闭:You have new mail in /var/spool/mail/root

echo “unset MAILCHECK” >> /etc/profile ;source /etc/profile

首先删除无用文件

# 创建一个临时空文件夹

mkdir /tmp/blankdir

# 清理/var/spool/postfix/maildrop

rsync -av --delete /tmp/blankdir/ /var/spool/postfix/maildrop/

# rsync选项说明:

# --delete-before 接收者在传输之前进行删除操作

# --progress 在传输时显示传输过程

# --a 归档模式,表示以递归方式传输文件,并保持所有文件属性

# --H 保持硬连接的文件

# --v 详细输出模式

# --stats 给出某些文件的传输状态

cd /var/spool/postfix/maildrop/

ls | xargs rm -rf

方法一、

修改“/etc/crontab”

将‘MAILTO=root’替换成‘MAILTO=””’修改之后没有成功,需要重启crond服务才可以

也可从在crontab(crontab -e)中最前面直接加入MAILTO=””

方法二、

如果是我们不关心的备注型等输出我们完全可以让其输出到 /dev/null 这样就不会因为发送失败到导致在/var/spool/postfix/maildrop下面产出什么文件。

crontab -l

#每周一至周六凌晨3:00 mysqldump全量备份

0 3 * * 1-6 /bin/bash /data/mysql/mysqldump.sh >/dev/null 2>&1

######################## or ######################

MAILTO=""

0 3 * * 1-6 /bin/bash /data/mysql/mysqldump.sh

本人倾向于第二种方案,虽然都解决问题,但第一种改变了需要发送的机制,造成所有的都不能接收到邮件,且需要重启crond服务,对执行crontab比较多的,有一定影响;第二种感觉比较灵活,且改完立即生效。

赞赏

82afdf36cef9226a00348d3bb04e1d78.png微信赞赏90432714904400da5d5bd172015dd080.png支付宝赞赏

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值