You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Linux环境下Cronjob定时发送邮箱统计邮件的故障排查与优化求助

Linux环境下Cronjob定时发送邮箱统计邮件的故障排查与优化求助

我最近在折腾一个脚本,目的是扫描Linux服务器上的一批邮箱目录,找出里面邮件数量超过250的邮箱,然后自动发邮件把这些邮箱的名称和对应的邮件数通知给我。

先说说我目前的实现:

初始的邮箱统计脚本(mailboxcounter.sh)

一开始我写了这个脚本,逻辑是遍历邮箱目录,统计每个邮箱的邮件数,筛选出超过250的:

ls /path to mailboxes/ -lR | grep rw | awk '{count[$3]++} END {for (word in count) if (count[word] > 250) print word, count[word]}'

Cron定时任务配置

为了定期执行这个脚本并发送结果,我设置了一个cron任务,先测试每5分钟跑一次:

*/5 * * * * /usr/sbin/sendmail name@email.com < <( bash /path/mailboxcounter.sh ) >/dev/null 2>&1

遇到的问题

现在我碰到了两个棘手的问题:

  • Cron只执行一次就停了:第一次运行cron的时候,邮件正常收到了,但之后每5分钟的定时任务完全没反应,再也没收到过邮件。
  • 修改脚本添加描述文本后完全无法发邮件:我想让邮件内容更清晰,给脚本加了点格式化的文本,改成了下面这样:
ls /path to mailboxes/ -lR | grep rw | awk '{count[$3]++} END {for (word in count) if (count[word] > 25) print "Name: " word",", "emails in mailbox: " count[word]}'

结果修改后,cron连一次邮件都发不出来了。

另外我试过用mail命令,也确认服务器上装了mailx,但不管怎么试都没用,所以只能一直用sendmail。

我感觉离成功不远了,但试了好多次都没解决,有没有大佬能帮我看看哪里出问题了?怎么才能让cron定时正常发邮件,同时还能保留那些清晰的描述文本?

备注:内容来源于stack exchange,提问作者DeeJay

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.04.23 08:34:17