zoukankan      html  css  js  c++  java
  • linux shell 增量备份

    #! /bin/bash
    #Automatic Backup Linux System Files
    #By Author xiangbing
    #Define Variables

    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 $SOURCE_DIR ]
    then
      echo -e "Please Enter a file or Directory You Need to Back: ----------------------------------------- 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 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 "---------------------------------------------------------------- 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 "$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 "------------------------------------------------------------------ add_backup System Files Backup Successfully!"
        fi
      else

        #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 "------------------------------------------------------------------ add_backup System Files Backup Successfully!"
        fi
      fi

    }

    full_backup;add_backup

  • 相关阅读:
    Codeforces Round #678 (Div. 2)
    #Dijkstra#洛谷 4943 密室
    #线性基,点分治#洛谷 3292 [SCOI2016]幸运数字
    #线性基#LOJ 114 k大异或和
    #2-SAT,Tarjan,前缀优化建边#洛谷 6378 [PA2010]Riddle
    #树形dp,二次扫描换根法#洛谷 4284 [SHOI2014]概率充电器
    #dp#洛谷 5774 [JSOI2016]病毒感染
    #Tarjan,拓扑排序#洛谷 3436 [POI2006]PRO-Professor Szu
    #差分约束,Floyd#洛谷 2474 [SCOI2008]天平
    #Tarjan,SPFA,差分约束系统#BZOJ 2330 AcWing 368 银河
  • 原文地址:https://www.cnblogs.com/xiangbing123/p/15148047.html
Copyright © 2011-2022 走看看