我是 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 天的邮件,则需要完全不同的方法。如果这是您的意图,请更新您的原始帖子。