一,查找可用的镜像
docker search svn
二,启动容器,创建SVN仓库
2.1 主仓库
docker run --restart always --name svnserver -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server
容器的文件一定是/var/opt/svn
- 进入编辑文件
docker exec -it svnserver /bin/sh
- 创建仓库
svnadmin create svn
svn 是仓库的名字,可以随意设置。
2.2在另一个位置创建备份仓库
docker run --restart always --name svnserver -d -v /root/dockers/svn:/var/opt/svn -p 3690:3690 garethflowers/svn-server
参考
三, 设置用户以及权限,
vi svnserver.conf
vi passwd
vi authz
authz 参考链接
四,设置同步,
- 参数更改,hook文件
cp pre-revprop-change.tmpl pre-revprop-change
将pre-revprop-change
改成 exit 0
添加可执行权限
chmod +x pre-revprop-change
-
主服务器
首先初始化同步设置:
svnsync init 备份库 源库 --username username--password 123456
语法是:
svnsync init {备份库url} {源库url} 备份库的用户名 密码
注意本地url是三个斜杠的:///
然后第一次备份:
svnsync sync 备份库
-
自动同步
cp post-commit.tmpl post-commit
svnsync sync --non-interactive svn://192.168.1.205/mu --username user --password passwd
-
设置可执行权限
chmod 755 post-commit
原文链接
五,定时同步
首先创建同步脚本文件:svn_sync.sh
内容如下:
#!/bin/bash
svnsync sync --non-interactive 从备份库 --username admin --password passwd
设定密码,可以防止更改密码后不能登录的情况。
然后使用crontab工具进行定时设置:
[root@localhost ~]# crontab -e
编写内容:
0 0 * * * /var/opt/svn/svn_sync.sh >> /zfspool/svn/sync.log 2>&1
crond restart
意思是每天的0点0分备份,并把日志记录在sync.log里面。
前面的是定时设置格式,前两个0代表0分0时, 中间两个*是日期,月份,第五个是星期几, 0-6表示每天, 再后面就是命令内容了。
这样保存退出即可。
设置完毕,以后会每天定时同步的。
注意:这个是单向同步,而且备份库不能有任何人为修改版本号,否则会同步失败。原文链接
六,修改密码
``
网友评论