金笛邮件论坛

金笛邮件论坛 (http://bbs.mailer.cn/)
-   行业的笛声 (http://bbs.mailer.cn/f10/)
-   -   3.92邮件自清理脚本 (http://bbs.mailer.cn/t1442/)

micmouse521 2010-12-13 14:27

3.92邮件自清理脚本
 
1 个附件
针对于用户需求,写了这个脚本,每日删除N天之前的邮件,对于邮件系统的管理和维护更加方便。
ps:在使用此脚本前,请通知用户将用户重要邮件保存好,此脚本只是针对邮件时间进行清理,不能保留用户重要邮件。自测试通过,可正确删除邮件,为了安全,使用前请拷贝部分邮件测试再使用。
修改:手动建立好日志存放目录CLEAN_ROOT/logs/clean
#!/bin/bash
#MICMOUSE521
CLEAN_ROOT=/jdmail
#设定jmail所在路径
export CLEAN_ROOT
#声明jdmail环境变量
cleantime=180
#更改清理多久之前的邮件,默认为180,半年

domains=`ls $CLEAN_ROOT/accounts| grep -v .xml$|grep -v .xml.bk$|grep -v root$`
cd $CLEAN_ROOT/accounts && for domain in $domains
do
cd $domain && for user in `ls -1 |grep -v .xml$|grep -v .xml.bk$`
do
echo $user >> $CLEAN_ROOT/logs/clean/clean-`date +20%y-%m-%d`.log
find $user/Maildir -name "*" -type f -mtime +$cleantime -exec ls {} \; >> $CLEAN_ROOT/logs/clean/clean-`date +20%y-%m-%d`.log -exec rm {} \;
#将删除的邮件记录到日志中,方便查询。
done && cd ..
done

#!/bin/bash
echo "0 0 * * * /jdmail/clean.sh" >/var/spool/cron/root &
#每日自动执行清理脚本
/jdmail/startjd.sh
/jdmail/web/bin/startup.sh
/jdmail/sa/sa_server.sh
sleep 3
/jdmail/safestart.sh &


所有时间均为北京时间。现在的时间是 05:11

Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2024,Jelsoft Enterprises Ltd.