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

  • 相关阅读:
    【转】ASP.NET页面刷新方法总结
    GridView点击超链接时弹出小窗口
    VS2008增加AJAX Control Toolkit3.5支持(组图)
    水晶报表中"已达到系统管理员配置的最大报表处理作业数限制"错误的处理
    asp.net 在使用Response.Redirect try{}catch{}块失效
    【转】ASP.NET的五大数据控件浅谈
    ASP.NET生成随机密码
    ASP.NET Web应用程序和ASP.NET网站的区别
    使用ArcGIS GP服务之一框架介绍
    mysql索引的类型和优缺点
  • 原文地址:https://www.cnblogs.com/xiangbing123/p/15148047.html
Copyright © 2011-2022 走看看