我已经设置了一些cron作业,他们将crons结果发送到电子邮件.几个月来,我积累了大量的电子邮件.
现在我的问题是如何从邮箱中清除所有这些电子邮件?
替代方式:
mail -N d * quit
-N
在阅读邮件或编辑邮件文件夹时禁止显示邮件标题.
d *
删除所有邮件
您只需删除该/var/mail/username
文件即可删除特定用户的所有电子邮件.此外,传出但尚未发送的电子邮件将被存储/var/spool/mqueue
.
只需使用:
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/usr/bin/php /var/www/sandbox/eric/c" N 2 Cron Daemon Tue Jul 29 17:44 23/1016 "Cron /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
是的,抱歉唤醒这个旧线程,但我觉得我可以贡献.
一个班轮:
echo 'd *' | mail -N
在UNIX/Linux/Mac OS X上,您可以复制和覆盖文件,不是吗?那么这个解决方案怎么样:
cp /dev/null /var/mail/root