SVN自动备份脚本

简介:
#!/bin/sh
##Subversion的安装目录及执行文件
SVN_HOME=/usr/local/subversion/bin
SVN_ADMIN=$SVN_HOME/svnadmin
SVN_LOOK=$SVN_HOME/svnlook
##配置库根目录
SVN_REPOROOT=/zsvn/svnroot
##备份文件存放路径
date=$(date '+%Y%m%d')
BAK_STORE=/zsvn/bakdump/$date
if [ ! -d "$BAK_STORE" ];then
mkdir -p $BAK_STORE
fi
##日志存放目录
Log_PATH=/zsvn/bakdumplog
if [ ! -d "$Log_PATH" ];then
mkdir -p $Log_PATH
fi
##读取项目库列表
cd $SVN_REPOROOT
for name in $(ls)
do
if [ ! -d "$BAK_STORE/$name" ];then
mkdir $BAK_STORE/$name
fi
cd $BAK_STORE/$name
if [ ! -d "$Log_PATH/$name" ];then
mkdir $Log_PATH/$name
fi
echo ******Starting backup from $date****** >> $Log_PATH/$name/$name.log
echo ******svn repository $name startting to backup****** >> $Log_PATH/$name/$name.log
$SVN_LOOK youngest $SVN_REPOROOT/$name > $Log_PATH/A.TMP
UPPER=`head -1 $Log_PATH/A.TMP`
##取出上次备份后的版本号,并做+1处理
NUM_LOWER=`head -1 $Log_PATH/$name/last_revision.txt`
let LOWER="$NUM_LOWER+1"
##开始做增量备份并记录$UPPER,为下次备份做准备
$SVN_ADMIN dump $SVN_REPOROOT/$name -r $LOWER:$UPPER --incremental > $BAK_STORE/$name/$LOWER-$UPPER.dump
rm -f $Log_PATH/A.TMP
echo $UPPER > $Log_PATH/$name/last_revision.txt
echo ******This time we bakcup from $LOWER to $UPPER****** >> $Log_PATH/$name/$name.log
echo ******Back up ended****** >> $Log_PATH/$name/$name.log
done
*********************************************************************************************
#!/bin/sh
##Subversion的安装目录及执行文件
SVN_HOME=/usr/local/subversion/bin
SVN_ADMIN=$SVN_HOME/svnadmin
SVN_LOOK=$SVN_HOME/svnlook
##配置库根目录
SVN_REPOROOT=/zsvn/svnroot
##备份文件存放路径
date=$(date '+%Y%m%d')
BAK_STORE=/zsvn/bakfull/$date
if [ ! -d "$BAK_STORE" ];then
mkdir -p $BAK_STORE
fi
##读取项目库列表
cd $SVN_REPOROOT
for name in $(ls)
do
##开始做全量备份
$SVN_ADMIN hotcopy $SVN_REPOROOT/$name $BAK_STORE/$name

done


本文转自 guowang327 51CTO博客,原文链接:http://blog.51cto.com/guowang327/1739146,如需转载请自行联系原作者

相关文章
|
5月前
|
中间件 Java 生物认证
Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份
Web应用&源码泄漏&开源闭源&指纹识别&GIT&SVN&DS&备份
|
测试技术 Python
【python脚本】ICer的脚本入门训练——svn_back
【python脚本】ICer的脚本入门训练——svn_back
清空文件夹下的SVN文件BAT脚本
清空文件夹下的SVN文件BAT脚本
136 0
批处理清理SVN文件BAT脚本
批处理清理SVN文件BAT脚本
82 0
|
网络协议 关系型数据库 MySQL
浅谈SVN备份
浅谈SVN备份
SVN启停脚本
说明:特别注意红色部分,外部$1传入Msg函数时失效,故特此读取一遍再传入!执行时要给脚本加执行权限!#chmod 755 /scripts/svn   [root@kazihuo /scripts]# cat svn 1 #!/bin/bash 2 #by luomurui 2018/05/07 3 4 [ -f /etc/init.
1066 0
|
运维 Shell 网络安全
svn发布脚本
下面这个脚本应该日常运维的工作中应该经常使用的到,适合全量、增量发布。 假如svn地址是svn://192.168.1.1/trunk,下面有test、release等目录。每个目录下有当前日期命名的目录。
813 0
|
Python
一个简单的python脚本:从给出的svn url 取出文件
经常要到svn上取出部署文件,于是用python写了一个简单的取出脚本 点击(此处)折叠或打开 #!/usr/bin/python #coding=UTF8 url=r...
1474 0