Linux系统实现增量备份(shell+tar)

基于Centos 7.x

在企业中,经常会做备份之类的工作,备份的数据常包含/boot、/etc、/root、/data等目录。备份的策略为:每周一至周六执行增量备份,每周日执行全量备份。

在 / 目录下创建sh目录,mkdir /sh

在sh目录下创建auto_backup.sh备份脚本文件,touch auto_backup.sh

将备份脚本内容写入auto_backup.sh中,vim auto_backup.sh

#!/bin/bash
#Automatic Backup Linux System Files
#By 小跑跑zyy
#Defin 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:\n-------------------------------------------------------\nExample $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 Ful_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 -zcvf $FILES 'echo ${SOURCE_DIR[@]}'
    [ "$CODE" == "0" ]&&echo -e "----------------------------------------------\nFull_Back 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 -zcvf $$_$FILES 'echo ${SOURCE_DIR[@]}'
        [ "$CODE" == "0" ]&&echo -e "------------------------------------\nAdd_Backup System Files Back Successfully !"
    fi
else
    if
        [ $WEEK -ne "7" ];then
        cd $TARGET_DIR/$YEAR/$MONTH/$DAY ; tar -g $TARGET_DIR/snapshot -zcvf $FILES 'echo ${SOURCE_DIR[@]} '
        [ "$CODE" == "0" ]&&echo -e "------------------------------------\nAdd_Backup System Files Backup Successfully !"
    fi
fi
}
Full_Backup;Add_Backup
 

将auto_backup.sh文件增加执行权限,chmod +x auto_backup.sh

  • 0
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值