脚本说明:
文件备份是linux系统维护的基本工作,此脚本使用tar 的增量备份,可以加到crontab 中定时执行。
该脚本备份的目录或者文件全部写到一个文件中CFG_FILE。
# 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
转载于:https://blog.51cto.com/slitobo/1931017