栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

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

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/941339.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号