循环备份,不用字典进行备份

#!/bin/sh
fid_dir="./pile"
bak_dir="./baklog" #save *tar.gz dir
log_dir="./log.bak.tar" #get log.bak dir
bak_fn=`date +%Y%m%d%H%M%S`.tar.gz
savecnt=4
########################################
findname="$bak_dir/*.tar.gz"
D1="1"
D2="2"
D3="3"
D4="4"
D5="5"
D6="6"
########################################
#create dir
if [ ! -d "$bak_dir" ]; then
    mkdir $bak_dir
fi
#found saved files
for k in `ls $findname 2>/dev/null`;do
    if [ "$k" = "$bak_dir/1.tar.gz" ];then
        D1=$k
    elif [ "$k" = "$bak_dir/2.tar.gz" ];then
        D2=$k
    elif [ "$k" = "$bak_dir/3.tar.gz" ];then
        D3=$k
    elif [ "$k" = "$bak_dir/4.tar.gz" ];then
        D4=$k
    elif [ "$k" = "$bak_dir/5.tar.gz" ];then
        D5=$k
    elif [ "$k" = "$bak_dir/6.tar.gz" ];then
        D6=$k
    else
        rm -f $k
    fi
done

#get new ID
i=0
if [ "$D1" != "$bak_dir/1.tar.gz" ];then
    i=1
elif [ "$D2" != "$bak_dir/2.tar.gz" ];then
    i=2
elif [ "$D3" != "$bak_dir/3.tar.gz" ];then
    i=3
elif [ "$D4" != "$bak_dir/4.tar.gz" ];then
    i=4
elif [ "$D5" != "$bak_dir/5.tar.gz" ];then
    i=5
elif [ "$D6" != "$bak_dir/6.tar.gz" ];then
    i=6
fi

#next file and dlt
dlt=$((i+1))
if [ $dlt -gt 6 ] || [ $dlt -gt $(($savecnt+1)) ];then
    dlt=1
fi

if [ -f "$bak_dir/$dlt.tar.gz" ];then
    rm -f "$bak_dir/$dlt.tar.gz"
fi

#find files then tar all. bak it to bak_dir
if [ $dlt -eq 2 ];then
    #find $fid_dir -name "*.ini" > "$bak_dir/m5"    
    find $fid_dir -name "*.log" -or -name "*.ini" -or -name "*.sh"  | xargs  tar -zcf "$bak_dir/$i.tar.gz"        
else
    find $fid_dir -name "*.log" | xargs  tar -zcf "$bak_dir/$i.tar.gz"
fi
#DO tar 
#tar -cf $log_dir $bak_dir/*.tar.gz
 

  • 3
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值