前段时间发现内网服务器的备份目录越来大,感觉有点不对劲,原来是备份脚本有问题,遂重新写了一下备份脚本,并分为全量备份和增量备份。
一、增量备份脚本
#!/bin/bash
#svn 增量备份脚本
repos_path="/home/svn/repos"
repos=`ls $repos_path`
Date=`date +%Y%m%d`
backup_path="/data1/backup/svn/"
echo `date` >> $backup_path/svn_backup.log
for i in $repos
do
pre_youngest=`cat $backup_path/$i/youngest_revision`
#获取上次备份到的版本号
youngest=`svnlook youngest $repos_path/$i`
#获取最后提交的版本号
if [ $pre_youngest -eq $youngest ]
then
echo "$i has no new revisions to backup." >> $backup_path/svn_backup.log
continue
fi
first_youngest=$[$pre_youngest +1]
#获取新提交的版本号
if [ ! -d "$i" ];
then
mkdir -p $backup_path/$i
fi
svnadmin dump --incremental --revision $first_youngest:$youngest $repo