已发归档邮件做备份

上面一篇文章提到了文件压缩方式

解决了上面的问题,下面也该进行备份了

那接下来的首要事情就是写备份脚本:(也不知道大家能不能看懂)

Archive_Outbox_Backup.sh

#!/bin/sh


FindDomainDir( )
{
echo -n > /$1/domainlist.txt
echo -n > /$1/nodir.txt
for i in    0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z
        do
                for j in - 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z
                do
                        for k in 0 1 2 3 4 5 6 7 8 9 a b c d e f g h i j k l m n o p q r s t u v w x y z
                        do
                                if [ -d "/$1/$i/$j/$k" ]
                                then
                                        cd /$1/$i/$j/$k/domains
                                        ls|grep -v ".dir-control" >>/$1/domainlist.txt

else
        echo "/$1/$i/$j/$k not exist.">>/$1/nodir.txt
        fi
    done
 done
done
}

FindDomainDir /ad5/mx10/home/mail



LOG=/home/sysadmin/zhaoyj/backup-ad5-mx10.log
MAILDIR=/ad5/mx10/home/mail
MOUNTDIR=/mnt/archive_outbox_backup
IPADDRESS=119.254.72.244
echo ""> $LOG

if [ -e $MOUNTDIR/nfsflag ] ; then
    :
else
    /sbin/mount -t nfs $IPADDRESS:/ad5/119.254.72.243/ad5/ $MOUNTDIR
fi

if [ -d "$MOUNTDIR/mx10" ]

then

cd $MOUNTDIR/mx4
else
    exit
fi
while read line
do
        p1=`echo $line|cut -c1`
        p2=`echo $line|cut -c2`
        p3=`echo $line|cut -c3`
        p4=$MAILDIR/$p1/$p2/$p3/domains/
        p5=$MAILDIR/$p1/$p2/domains/
        p6=$MAILDIR/$p1/domains/

     if [ -d "$p4$line" ]
      then
           BACKUPTIME=`date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
           echo $BACKUPTIME $line>>$LOG
           tar -Pcjf $line.tar.bz2 $MAILDIR/$p1/$p2/$p3/domains/$line

     elif [ -d "$p5$line" ]
      then
           BACKUPTIME=`date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
           echo $BACKUPTIME $line>>$LOG
           tar -Pcjf $line.tar.bz2 $MAILDIR/$p1/$p2/domains/$line

     elif [ -d "$p6$line" ]
      then
           BACKUPTIME=`date "+DATE: %Y-%m-%d%nTIME: %H:%M:%S"`
           echo $BACKUPTIME $line>>$LOG
           tar -Pcjf $line.tar.bz2 $MAILDIR/$p1/domains/$line

     else
                echo $BACKUPTIME NO $line,IT IS DOMAIN ALIAS >>$LOG
    fi

done< $MAILDIR/domainlist.txt
/sbin/umount -f $MOUNTDIR

 

 

 

第一次测试就碰钉子了:

archive-back1# chmod +x Archive_Outbox_Backup.sh


archive-back1# ./Archive_Outbox_Backup.sh
./Archive_Outbox_Backup.sh: /bin/mount: not found


archive-back1# whereis mount
mount: /sbin/mount /usr/share/man/man8/mount.8.gz

再看看脚本里面是这样的:/sbin/mount -t nfs $IPADDRESS:/ad5/119.254.72.243/ad5/ $MOUNTDIR

哇,好粗心那,做了更改之后再继续测试,又碰钉子了,哎,测试之前都检查过了怎么还能这么不给力呢

archive-back1# ./Archive_Outbox_Backup.sh
cd: can't cd to /mnt/archive_outbox_backup/mx4

那就看看脚本里面怎么写的吧

if [ -d "$MOUNTDIR/mx10" ]
then
cd $MOUNTDIR/mx4

我晕,怎么能犯这种低级错误呢,赶紧改过来,Go on

 

 

又有绊脚石,有这个错误提示:tar: Removing leading '/' from member names

这个错误提示对我来说是第一次,那只能上网soso啦

***首先应该明确:*nix系统中,使用tar对文件打包时,一般不建议使用绝对路径。

***通常是在两台环境相似的机器上进行同步复制的时候,才有需要使用绝对路径进行打包。使用绝对路径打包时如果不指定相应的参

***数,tar会产生一句警告 信息:”tar: Removing leading `/’ from member names”,并且实际产生的压缩包会将绝对路径转化为

***相对路径。

***更为可靠的方法是在打包和解开的时候都使用参数 -P

经过这么一看我明白了,然后在之后的备份过程中我会将“-P”选项加上

 

 

一会之后,我去备份机上看了一下备份情况:

[root@backup3 /ad5/119.254.72.243/ad5/mx10]# ls
10000help.com.tar.bz2        8d52.com.tar.bz2        ahaide.com.tar.bz2
31food.com.tar.bz2        99xxyy.com.tar.bz2        ahhuachuang.com.tar.bz2
4ships.net.tar.bz2        9huadesign.com.tar.bz2        ahjinhong.com.tar.bz2
512pr.cn.tar.bz2        9ysh.net.tar.bz2        ahmeida.com.tar.bz2
51sby.com.tar.bz2        a-laser.cn.tar.bz2        ahnanyangcable.com.tar.bz2
5izm.net.tar.bz2        aai-arch.com.tar.bz2        ahtcxs.com.tar.bz2
71cg.com.tar.bz2        acoms.mobi.tar.bz2        aia-sh.com.cn.tar.bz2

 

 

成功啦,不过备份脚本也是几经修改的哟

如果大家对我写的脚本方案有更好的建议,请多多留言谢谢

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值