1. 服务端
a. 建立版本库跟路径
[root@$] mkdir /home/svn
b. 创建版本库
[root@$] svnadmin create /home/svn/project1
修改版本库对应的用户及权限,可以将所有版本统一为(也可以单独分开管理):
1) 一个用户配置文件pwd.conf.
2) 一个权限配置文件authz.conf.
操作为:
修改对应版本库目录conf目录下面的svnserve.conf文件
内容修改为:
[general]
anon-access = none
auth-access = write
password-db = /home/svn/conf/pwd.conf //修改用户账户密码配置文件
authz-db = /home/svn/conf/authz.conf //修改用户权限配置文件
realm = project1
c. pwd.conf 文件配置
文件编辑格式如下:
[users]
<用户1> = <密码1>
<用户2> = <密码2>
d. authz.conf 配置
1) 用户组定义
[groups]
<用户组名> = <用户1>,<用户2>
2) 版本库对应的路径权限设置格式
[<版本库>:/项目/目录] //[project:/home/svn/project/a] project版本库下面的a目录权限设置
@<用户组名> = <权限>
<用户名> = <权限>
e. 服务器端同步备份
在需要备份到的目标机器执行:
[root@$] mkdir /home/svn/backup //创建备份路径
[root@$] svnadmin create /home/svn/backup //创建版本库
[root@$] cd /home/svn/backup/hook
[root@$] cp pre_revprop-change.tmpl pre_revprop-change
[root@$] chmod 755 pre_revprop-change
[root@$] svnsync init svn://localhost/backup svn://**.**.2.87/project1 //初始化备份目标机器与源机器的绑定关系
之后的的同步操作:
1) 手动同步
在目标机器执行:
[root@$] svnsync sync svn://localhost/backup
2) 自动同步
在源库机器上:
[root@$] cd /home/svn/project1/hook/
[root@$] cp post-commit.tmp1 post-commit
[root@$] chmod 755 post-commit
修改post-commit文件最后2行为:
svnsync sync --non-interactive svn://**.**.2.92/backup --username **** -- password ****
注:最后为目标机用户名和密码