解决crontab分钟级定时任务造成系统资源耗尽

"本文讨论了Linux系统中由于CRON任务频繁触发sendmail服务导致的邮件堆积问题,指出这可能会消耗大量inode资源。解决方案是通过在定时任务末尾添加>/dev/null2>&1来屏蔽输出,或者设置MAILTO=""防止邮件发送。这两个方法可以有效避免邮件服务占用过多资源。"
摘要由CSDN通过智能技术生成
root      36355  36343  0 Aug19 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      36360  36355  0 Aug19 ?        00:00:01 /usr/sbin/postdrop -r
root      37174   1626  0 00:00 ?        00:00:00 CROND
root      37209  37174  0 00:00 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      37214  37209  0 00:00 ?        00:00:01 /usr/sbin/postdrop -r
root      38574   1626  0 00:10 ?        00:00:00 CROND
root      38599  38574  0 00:10 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      38600  38599  0 00:10 ?        00:00:01 /usr/sbin/postdrop -r
root      39896   1626  0 00:20 ?        00:00:00 CROND
root      39921  39896  0 00:20 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      39922  39921  0 00:20 ?        00:00:01 /usr/sbin/postdrop -r
root      41226   1626  0 00:30 ?        00:00:00 CROND
root      41265  41226  0 00:30 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      41274  41265  0 00:30 ?        00:00:01 /usr/sbin/postdrop -r
root      42600   1626  0 00:40 ?        00:00:00 CROND
root      42625  42600  0 00:40 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      42626  42625  0 00:40 ?        00:00:01 /usr/sbin/postdrop -r
root      43954   1626  0 00:50 ?        00:00:00 CROND
root      43979  43954  0 00:50 ?        00:00:00 /usr/sbin/sendmail -FCronDaemon -i -odi -oem -oi -t -f root
root      43980  43979  0 00:50 ?        00:00:01 /usr/sbin/postdrop -r
root      45318   1626  0 01:00 ?        00:00:00 CROND

注:如果不加 >/dev/null 2>&1   邮件服务/var/spool/clientmqueue/ 文件数会过多,导致inode被耗尽。当定时任务被执行时,会给系统发邮件,系统默认的时sendmail服务经常是关闭的,所以定时任务发送的邮件就会临时堆在/var/spool/clientmqueue/.时间久了,文件数就会很多。

原因:crond 引起大量sendmail进程
解决:禁止Crontab产生邮件

解决方案:

方案1:

定时任务结尾要加上  >/dev/null 2>&1  等价于1>/dev/null       2>/dev/null  ,意思就是把所有输出都追加到/dev/null中。

2>&1就是把标准错误重定向到标准输出(>&)

>/dev/null 2>&1

或者

&> /dev/null

例如:
*/1 * * * * > /home/doone/test.txt >/dev/null 2>&1
*/1 * * * * > /home/doone/test.txt &> /dev/null

方案2:

在定时任务的脚本前第一行增加

MAILTO=""

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值