postfix如何删除指定日期之前的邮件

2017/11/17 13:47:48      点击:
客户发邮件说要删除2011年之前的邮件,方便接收邮件。

思路:
1、首先找到邮件存放目录
2、要找到2011年之前的所有邮件,然后移动,最好做一个备份。
3、删除找到的邮件

解决:
1、首先找到了客户的邮件目录:/home/userme/Maildir/,里面有cur 和new 目录,cur目录存放已读邮件,new存放新收邮件。
2、要找到2011年之前的邮件,要用到find命令的mtime参数: find -type f -mtime +273 这样就会查找到2011年1月1日之前的所有邮件。

参数:-type,查找的类型,f为文件 ,d为目录
          -mtime,+mtime -5查找5天以内的文件,+5,查找5天以外的文件。
但这样是不够的,需要把这些查找到的文件移走,我的做法是新建一个文件夹,mv过去,然后打包。
mkdir test
find -type f -mtime +273 |xargs -i{} mv {} test
cd test
tar czvf username_20110929.tar,gz *
mv username_20110929.tar.gz /home/username/Maildir/

3、删除
cd ../
rm -rf test