svn备份之svnsync

1.软件环境

image.png

2.注意

备库不能执行提交操作,否则主库会同步失败

2.1.在(svn-slave)上操作(备库)

2.1.1.备份配置文件

cd /Repositories/conf
cp authz authz.bak
cp passwd passwd.bak

2.1.2.创建备份用户

htpasswd -c /Repositories/conf/passwd syncuser
密码:****

2.1.3.创建备份仓库

svnadmin create /Repositories/back

2.1.4.为备份用户添加权限

vi /Repositories/conf/authz
添加
[back:/]
syncuser = rw

2.1.5.添加钩子

cd /Repositories/back/hooks

2.1.5.1.pre-revprop-change

vi pre-revprop-change

#!/bin/sh
USER="$3"
# 限制只有syncuser用户才能提交版本属性修改到此版本库
if [ "$USER" = "syncuser" ]; then exit 0; fi
echo "Only the syncuser user may change revision properties" >&2
exit 1

2.1.5.2.start-commit

vi start-commit

#!/bin/sh
USER="$2"
# 限制只用syncuser用户才能提交版本修改到版本库
if [ "$USER" = "syncuser" ]; then exit 0; fi
echo "Only the syncuser user may commit new revisions" >&2
exit 1

2.1.5.3.为钩子添加权限

chmod 775 start-commit pre-revprop-change

2.2.进行同步在svn-master服务器操作(主库)

2.2.1.初始化备份库

svnsync init http://svn-slave/svn/back/ file:///Repositories/test --username syncuser --password '****'
image.png

2.2.2.同步备份库

svnsync sync http://svn-slave/svn/back/ --username syncuser --password '****'

2.2.3.添加钩子实现自动同步(自动提交)

cd /Repositories/test/hooks/
vi post-commit

#!/bin/sh
/usr/local/subversion/bin/svnsync synchronize --non-interactive http://svn-slave/svn/back/ --username syncuser --password '*****'

chown svn.svn post-commit
chmod 775 post-commit

3.测试提交是否同步

在主库上执行提交操作,看备库是否同步

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • iOS 开发 SVN 版本控制器 更多技术交流请加群 iOS技术联盟 27512466 SVN是Subversio...
    Sunny_Fight阅读 8,969评论 7 63
  • 如果刚到一个新公司,还要用 SVN ,接老项目,简易 SVN 操作 一、创建代码仓库 1.首先在某个目录下面新建一...
    4b5cb36a2ee2阅读 901评论 0 0
  • 很久以前用的SVN管理代码!!!许久没使用了,老知识回顾!!!按照自己惯例,一篇文章!!!😂😂😂😂😂 版本控制(V...
    goyohol阅读 3,850评论 1 2
  • 1.首先安装svn客户端 yum installsubversion 2.测试是否安装成功 svnserve --...
    架构飞毛腿阅读 862评论 0 4
  • 残红泥上,叹韶华日短,耳鬓隔将。风轻耽红妆,步语思心戕。转身去,即寄望,欠几任思量,凉夜落,影照天桥,不着英娘。...
    amethystyl阅读 317评论 0 0

友情链接更多精彩内容