您的位置:首页 > 运维架构 > Linux

Linux 下文件备份脚本

2017-05-31 16:09 399 查看
脚本说明:
文件备份是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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  备份 Linux 文件