![]() |
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 & |
所有时间均为北京时间。现在的时间是 07:17。 |
Powered by vBulletin® 版本 3.8.3
版权所有 ©2000 - 2025,Jelsoft Enterprises Ltd.