• SHELL脚本自动备份Linux系统


    今天来写一个使用shell脚本增量备份系统文件,顺便复习一下shell脚本相关的命令,这个脚本可以根据自己的需求来备份不同的文件或者文件夹,进行完整备份和增量备份。直接上脚本如下:

    #!/bin/sh 
    #Automatic Backup Linux System Files 
    #Author wugk 2013-11-22 
    #Define Variable 
    SOURCE_DIR=( 
        $* 
    ) 
    TARGET_DIR=/data/backup/
    YEAR=`date +%Y` 
    MONTH=`date +%m` 
    DAY=`date +%d` 
    WEEK=`date +%u` 
    FILES=system_backup.tgz 
    CODE=$? 
    if
        [ -z "$*" ];then
        echo -e "Please Enter Your Backup Files or Directories
    --------------------------------------------
    Example $0 /boot /etc ......"
        exit
    fi
    #Determine Whether the Target Directory Exists 
    if
        [ ! -d $TARGET_DIR/$YEAR/$MONTH/$DAY ];then
        mkdir -p $TARGET_DIR/$YEAR/$MONTH/$DAY 
        echo "This $TARGET_DIR is Created Successfully !"
    fi
    #EXEC Full_Backup Function Command 
    Full_Backup() 
    { 
    if
        [ "$WEEK" -eq "7" ];then
        rm -rf $TARGET_DIR/snapshot
        cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}` 
        [ "$CODE" == "0" ]&&echo -e  "--------------------------------------------
    These Full_Backup System Files Backup Successfully !"
    fi
    } 
    #Perform incremental BACKUP Function Command 
    Add_Backup() 
    { 
       cd $TARGET_DIR/$YEAR/$MONTH/$DAY ; 
    if
        [ -f $TARGET_DIR/$YEAR/$MONTH/$DAY/$FILES ];then
        read -p "These $FILES Already Exists, overwrite confirmation yes or no ? : " SURE 
        if [ $SURE == "no" -o $SURE == "n" ];then
        sleep 1 ;exit 0 
        fi
    #Add_Backup Files System 
        if
            [ $WEEK -ne "7" ];then
            cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $$_$FILES `echo ${SOURCE_DIR[@]}` 
            [ "$CODE" == "0" ]&&echo -e  "-----------------------------------------
    These Add_Backup System Files Backup Successfully !"
       fi
    else
       if
          [ $WEEK -ne "7" ];then
          cd $TARGET_DIR/$YEAR/$MONTH/$DAY ;tar -g $TARGET_DIR/snapshot -czvf $FILES `echo ${SOURCE_DIR[@]}` 
          [ "$CODE" == "0" ]&&echo -e  "-------------------------------------------
    These Add_Backup System Files Backup Successfully !"
       fi
    fi
    } 
    Full_Backup;Add_Backup
    
  • 相关阅读:
    iOS开发UI篇—Quartz2D使用(图片剪切)
    LeanCloud存取数据
    Pod搜不到类库解决办法
    第三方的工具以及插件
    苹果开发账号申请注意事项
    苹果账号网址汇总
    代码规范
    流媒体
    iOS面试题
    安装 Alcatraz
  • 原文地址:https://www.cnblogs.com/xyz0601/p/4403939.html
Copyright © 2020-2023  润新知