由于 cron 作业,我在 Linux 服务器中生成了 100 万封邮件。我想删除邮件,但不是全部,因为此 cron 邮件对于排除故障并找出 cron 作业执行的问题很有用。所以我需要保留一个月的邮件并删除剩余的。
答案1
答案2
经过大量搜索后我发现档案邮件使用它能够清除旧邮件。
语法是:
archivemail -d 30 --delete <path-to-mailbox>
(一般情况下$MAIL
定义本地邮箱位置,尝试echo $MAIL
检查)。
您还可以使用-n
(--试运行) 选项。
答案3
一段时间以来,我一直在努力解决同样的问题,对于我正在管理的邮件服务器来说,谷歌搜索一个简单的答案比预期的要困难。
我需要从单个用户的邮箱中删除邮件,该邮箱经常填满文件系统,并最终执行以下 cron 作业:
18 5 * * * /usr/bin/mutt -f /var/spool/mail/developer -e "push D~d>7d<enter>qy<enter>"
或者:每天 05:18,在文件(本例中为目录)/var/spool/mail/developer 上运行 mutt,等到 mutt 启动(推送),标记为删除 (D) 模式匹配 (~) 日期 ( d) 超过 7 天 (>7d),结束该命令,然后退出 (q) 并确认删除 (y)