好久更新技术类了,又一懒人专做。
目的就是方便我自己的做svn增量备份后的还原,谁叫我没那么大空间的机器用来做全备呢。哈哈如果要使用下面的脚本的话,你或者是模拟一下能够被下面脚本使用的配置。
本人写的svn增量备份脚本:svn服务增量备份脚本,Incremental backup script
脚本中所使用的svn.important及svn备份数据文件信息,如下图:
————————————————-
不足:
因为是给自己提供方便的,所以没有对任何东西进行处理!如果有使用的,凑合用啊!
下载此脚本 >点我<
#!/bin/bash # # //kinggoo.com # # 之前使用我的备份脚本执行的,机器上已经搭建svn服务,创建一个空的仓库 # SVN_PATH是备份文件存放目录,如 /svn/,下面包含:201111,201112,log这种目录 # 新创建的库最好要跟以前的相同,不然需要自己修改下脚本 # 要用我的增量备份 < <文章: svn服务增量备份脚本,Incremental backup script >> ## ##库目录 SVN_PATH=/opt/svnroot/ ##svn代码库备份目录 SVN_REVERTFILE=/opt/ ##保留备份信息的日志 SVN_IMPORTANT=${SVN_REVERTFILE}log/svn.important ###以上要改成你自己的环境信息### declare -a YM REPOSITORY R_ARR=0 YM_ARR=0 YM=( 年份月份 年份月份+1 以此类推... ) # 库的过滤 REPOSITORY=( REPOSITORY1 REPOSITORY2 ) I=`cat ${SVN_IMPORTANT} |wc -l` while [ "${R_ARR}" -lt "${#REPOSITORY[@]}" ] do #年月的过滤 while [ "${YM_ARR}" -lt "${#YM[@]}" ] do i=1 while [ "$i" -le "$I" ] do #YEAR=`grep -v Vancl < ${SVN_IMPORTANT} |awk -F':' 'NR==1{ print $1 }'` KU=`grep ${REPOSITORY[$R_ARR]} < ${SVN_IMPORTANT} |awk -F ':' 'NR=='$i'{ print $1 }'` YEAR=`grep ${REPOSITORY[$R_ARR]} < ${SVN_IMPORTANT} |awk -F ':' 'NR=='$i'{ print $2 }'` AGO=`grep ${REPOSITORY[$R_ARR]} < ${SVN_IMPORTANT} |awk -F ':' 'NR=='$i'{ print $3 }'` AFTER=`grep ${REPOSITORY[$R_ARR]} < ${SVN_IMPORTANT} |awk -F ':' 'NR=='$i'{ print $4 }'` #按月份 svnadmin load ${SVN_PATH}${REPOSITORY[$R_ARR]} < ${SVN_REVERTFILE}${YM[$YM_ARR]}/${REPOSITORY[$R_ARR]}/${REPOSITORY[$R_ARR]}.${AGO}_${AFTER}.dump* ((i=$i+1)) done ((YM_ARR=$YM_ARR+1)) done ((R_ARR=$R_ARR+1)) YM_ARR=0 done
- THE END -
我所在公司也用svn ,不过没博主那么高端。
不懂啥增量备份,我们都直接全部备份。。
时间长了你就知道了,你应该用的是 hotcopy 吧,如果你有足够的备份空间还可以用。另外一个是svnsync 不过都是有优缺点的
dump就是恢复的时候比较耗时
呵呵,谢谢!一起加油
NO thx
NO