增量备份
以备份文件未基准,增量备份以后的增长的文件
#!/bin/bash
cd /
FS_PL=data/backsourcefilelist
FS_PATH=data
BACKT_PATH=data/backup
riqi=`date +%Y%m%d%H%M`
ZHOUQI=`date +%w` #判断当前是周几
for i in `find data/backup/ -name "*.gz"`
do
i_name=`echo $i | awk -F [/-] '{print $3}'` #获取备份目录名字
tree -aFfi -o $FS_PL/$i_name.filelist --noreport $FS_PATH/$i_name #生成最新文件列表
if [ $ZHOUQI -eq 0 ] #每周日重新获取一次备份中获取文件列表
then
tar -tf $i >$FS_PL/$i_name.tarlist #从压缩包中获取文件列表
fi
grep -wvf $FS_PL/$i_name.tarlist $FS_PL/$i_name.filelist >$FS_PL/$i_name.list #生成差异列表即增长的文件列表
sed -i '1d' $FS_PL/$i_name.list #去掉第一行
tar -zcf $BACKT_PATH/$i_name-$riqi.tar.gz -T$FS_PL/$i_name.list #备份原始本分以后的文件
done