SVN:利用svnsync定时单向备份同步版本库

1. 前言

SVN部署好了之后,备份又是个问题。这里选择svnsync工具进行备份。
从centos上的源库备份到Windows server2012 服务器中。

2. 实施过程

2.1 目标服务器svn配置
首先要安装VisualSVN Server Manager,这个直接点击安装,默认即可。
然后右键“Repositories”, 新建仓库:
SVN:利用svnsync定时单向备份同步版本库_第1张图片
选择第一个,下一步:
SVN:利用svnsync定时单向备份同步版本库_第2张图片
这里一定要选择第一个,空白仓库。设置仓库名,我这里用的是“svnMirror”。
然后需要修改仓库的配置文件。仓库的地址是:D:\Repositories\svnMirror\hooks(视情况而定)
修改文件”pre-revprop-change.tmpl”将其最后一行修改为:”exit 0”,
然后复制一份,文件名:”pre-revprop-change.bat”, 把内容改为
“echo "Changing revision properties other than svn:log is prohibited" >&2
exit 0”

如图所示:
SVN:利用svnsync定时单向备份同步版本库_第3张图片

添加用户,右键“Users”,新建用户,权限一定要给予“读写”。
到这里Windows端svn算是配置好了。

2.2 linux端配置
首先初始化同步设置:
svnsync init https://192.168.1.222:9999/svn/svnMirror  file:///zfspool/svn/project --username svnMirror --password 123456
语法是:svnsync init {备份库url} {源库url}  备份库的用户名 密码
注意本地url是三个斜杠的:///
其中9999是自定义的端口号,如果是默认的可以不用加。

然后第一次备份:
svnsync sync https://192.168.1.222:9999/svn/svnMirror
只需要备份库地址,初始化的时候已经设置源库地址了。执行完就同步成功了。

2.3  定时备份设置
首先创建同步脚本文件:svn_sync.sh
内容如下:
#!/bin/bash
svnsync sync --non-interactive https://192.168.1.222:9999/svn/svnMirror
然后使用crontab工具进行定时设置:
[root@localhost ~]# crontab -e
编写内容:
0 0 * * 0-6 /zfspool/svn/svn_sync.sh >> /zfspool/svn/sync.log 2>&1
意思是每天的0点0分备份,并把日志记录在sync.log里面。
前面的是定时设置格式,前两个0代表0分0时, 中间两个*是日期,月份,第五个是星期几, 0-6表示每天, 再后面就是命令内容了。
这样保存退出即可。
设置完毕,以后会每天定时同步的。
注意:这个是单向同步,而且备份库不能有任何人为修改版本号,否则会同步失败。


你可能感兴趣的:(Linux运维)