| 
				 3.92邮件自清理脚本 
 
			
			针对于用户需求,写了这个脚本,每日删除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 &
 
				 此帖于 2010-12-20 08:42 被 micmouse521 编辑。
					
					
						原因: 建立日志存放目录。
 |