脚本说明:
    文件备份是linux系统维护的基本工作,此脚本使用tar 的增量备份,可以加到crontab 中定时执行。
    该脚本备份的目录或者文件全部写到一个文件中CFG_FILE。

wKiom1kueZ-gabDUAAAtougU6Vc463.png-wh_50

wKioL1kueZ-BxfKuAAA8fkoCpeY719.png-wh_50

wKioL1kueaCC9aZ9AABVuw-Hr3I607.png-wh_50

# cat backup.sh 

#!/bin/bash
#backup directory or file 
#by slitobo 2017/5/31 
#notice:
#        The scripts read content from "CFG_FILE",you must create it first.
#        CFG_FILE content like below:
#                               /data/sh
#                               /var/www/html 
      
DES_DIR=/data/backup
INC_DIR=$DES_DIR/snapshot
INC_FILE=snapshot
DATE_DIR=$DES_DIR/$(date +%y%m%d)
INC_TAR_FILE=INC_$(date "+%y%m%d-%H%M").tar.gz


[ -d $DES_DIR ] || mkdir -p $DES_DIR &> /dev/null
[ -d $INC_DIR ] || mkdir -p $INC_DIR &> /dev/null
[ -d $DATE_DIR ] || mkdir -p $DATE_DIR &> /dev/null

[ ! -s CFG_FILE ] && echo -e "\033[31m *** Please create CFG_FILE or add the content ***\033[0m" && exit 10

exec < CFG_FILE

while read filename
do
        if [ ! -d $filename ] && [ ! -f $filename ];then
                echo -e "\033[31m $filename IS NOT EXISTS! Please Check Path !!! \033[0m"
                sleep 2
        else
            FILE=$(basename $filename)
            DIR=$(dirname $filename)
            var=$(echo ${filename:1} | sed 's@/@_@g')
            #echo $var
            cd $DIR
            tar -g $INC_DIR/"$var"_$INC_FILE -czvf $DATE_DIR/"$var"_$INC_TAR_FILE $FILE &> /dev/null
            echo "$DATE_DIR/"$var"_$INC_TAR_FILE created..."
        fi
done