我已经设置了一些cron作业,他们将crons结果发送到电子邮件。在过去的几个月里,我已经积累了大量的电子邮件。
现在我的问题是如何清除我邮箱里的这些邮件?
我已经设置了一些cron作业,他们将crons结果发送到电子邮件。在过去的几个月里,我已经积累了大量的电子邮件。
现在我的问题是如何清除我邮箱里的这些邮件?
当前回答
在UNIX / Linux / Mac OS X上,你可以复制和覆盖文件,不是吗?那么这个解决方案如何:
cp /dev/null /var/mail/root
其他回答
如果您在邮件服务器上使用cyrus/sasl/imap,那么一种快速有效的方法是使用cyrus/imap ipurge命令清除比指定天数更早的邮箱中的所有内容。例如,下面是一个示例,删除用户vleo中超过30天的所有内容(小心!!)。注意,您必须以cyrus (imap邮件管理员)用户登录:
[cyrus@mailserver ~]$ /usr/lib/cyrus-imapd/ipurge -f -d 30 user.vleo 正在处理user.vleo… 消息总数4 总字节数113183 删除消息0 删除字节0 剩余信息4 剩余字节113183
只使用:
mail
d 1-15
quit
它会删除1号到15号之间的所有信息。如果要删除全部,请使用d *。
我自己刚刚在ubuntu 12.04.4上使用了这个,它就像一个魅力。
例如:
eric@dev ~ $ mail
Heirloom Mail version 12.4 7/29/08. Type ? for help.
"/var/spool/mail/eric": 2 messages 2 new
>N 1 Cron Daemon Tue Jul 29 17:43 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
N 2 Cron Daemon Tue Jul 29 17:44 23/1016 "Cron <eric@ip-10-0-1-51> /usr/bin/php /var/www/sandbox/eric/c"
& d *
& quit
然后再检查你的邮件:
eric@dev ~ $ mail
No mail for eric
eric@dev ~ $
使您出错的是您使用x或exit退出,这将在会话期间回滚更改。
我认为我们可以使该文件无效,而不是删除,因为如果邮件服务仍在运行,则将创建该文件。 像跟着就行了
cat /dev/null >/var/spool/mail/tomlinuxusr
是的,很抱歉唤醒了这个旧话题,但我觉得我可以有所贡献。
替代方法:
mail -N
d *
quit
-N禁止在阅读邮件或编辑邮件文件夹时首次显示邮件标题。 删除所有邮件
在UNIX / Linux / Mac OS X上,你可以复制和覆盖文件,不是吗?那么这个解决方案如何:
cp /dev/null /var/mail/root