zoukankan      html  css  js  c++  java
  • bash 之备份文件

    #!/usr/bin/bash  
    
    
    #备份的目的目录  
    
    BACDIR="/home/wxr/backup" 
    
      
    
    #备份的子目录每天备份在一个子目录下 
    
    SUBDIR=backup-$(date +%m%d%y)  
    
       
    
    #备份的源目录 
    
    DIRS[0]="/home/wxr/workspace" 
    
    DIRS[1]="/home/wxr/school" 
    
    DIRS[2]="/home/wxr/themes" 
    
    DIRS[3]="/home/wxr/scripts" 
    
    DIRS[4]="/home/wxr/Desktop" 
    
       
      
      
    
    #备份的数量
    NUMDIRS=${#DIRS[*]}  
    
    
    #进入备份目录
    
    if [ ! -d "$BACDIR" ];   
    
    then  
    
        mkdir "$BACDIR"  
    
    fi 
     
    
    cd "$BACDIR" 
    
       
    
    #进入备份子目录如果子目录存在则另加子目录 有时候更改系统时间
    
    if [ -d "$SUBDIR" ];  
    
    then 
    
        I=0  
    
        while [ -d "$SUBDIR""_"$I ]  
    
        do 
    
        let I=$I+1  
    
        done 
    
    
        SUBDIR+="_"$I  
    
    fi 
    
    mkdir "$SUBDIR" 
    
    
    #备份源目录
    
    I=0     
    
    
    while [ $I -lt $NUMDIRS ]  
    
    do 
    
    
        if [ -d "${DIRS[$I]}" ];  
    
        then 
        
        
        #提取本分源文件夹名称
        
        MAGIC=".190427150621502" 
    
        echo "${DIRS[$I]}" > $MAGIC  
    
        NAME="backup"$(sed -e 's///-/g' $MAGIC )  
    
        rm $MAGIC  
    
       
        #压缩备份
    
        tar cjf "$BACDIR/$SUBDIR/$NAME".tar.bz2 "${DIRS[$I]}" 
    
        echo "Backed up ($[$I+1]/$NUMDIRS) directories." 
      
        let I=$I+1  
    
    done 
    
    
    
    echo "Backups complete, have a nice day!" 
  • 相关阅读:
    XML与 实体的相互转化
    SerializeHelper
    Linq To Xml
    JsonHelper
    动态添加XtraTabControl的page页和子窗体
    窗体设置操作
    常用快捷键
    Jquery键盘事件
    Http跨域
    [转]ASP.NET母版页中对控件ID的处理
  • 原文地址:https://www.cnblogs.com/wolfrickwang/p/3267247.html
Copyright © 2011-2022 走看看