脚本说明:
文件备份是linux系统维护的基本工作,此脚本使用tar 的增量备份,可以加到crontab 中定时执行。
该脚本备份的目录或者文件全部写到一个文件中CFG_FILE。
#cat /data/sh/backup.sh
#!/bin/bash
#file increament backup
#by slitobo 2017/5/31
DES_DIR=/data/backup_dir
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
exec < CFG_FILE
[ -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
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 ‘[email protected]/@[email protected]‘)
#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