如何构建一个 cron 来清空所有邮箱中的邮件?

如何构建一个 cron 来清空所有邮箱中的邮件?

我是 Unix 新手。

我们的一些邮箱占用了令人难以置信的空间,我正在尝试找到一种方法来删除邮箱中已保存 30 天的所有邮件。我查找的大部分内容都只涉及一个邮箱。

我在这方面还没有做太多事情,任何帮助将不胜感激。

答案1

如果您想清除除可能root和其他受保护用户之外的所有邮箱内容,您可以使用如下内容:

for mbox in $(ls /var/spool/mail/*|grep -v -e root -e protecteduser);do >${mbox};done

并在 cron 中安排它在每个月的第一天运行

crontab -e 

在 crontab 末尾插入以下行:

0 2 1 * * /path/to/mailbox/cleaner/script 

这将使脚本在每月第一天凌晨 2 点运行

另一方面,如果您需要清理每个邮箱中超过 30 天的邮件,则需要完全不同的方法。如果这是您的意图,请更新您的原始帖子。

相关内容