晓夏

新手菜鸟Linux学习之路

不怕从零开始,只怕从未启程

SVN项目远程热备(svnsync) 未完成

浏览量:414

公司最近要求svn上的项目要进行定期的备份,防止出现问题。
这里我使用的是svnsync命令进行的热备
svnsync是svn服务自带的命令,无需单独安装,下面是我的操作记录


一、环境

源SVN路径:https://zjcmcc.5upm.net/svn/zjsjyytdoc

备份SVN机器:123.56.168.226

备份SVN项目存放目录:/var/svn/svnrepos

二、创建用户备份的项目目录

svnadmin create /var/svn/svnrepos/zjsjyytdoc    #创建一个新的svn项目,这里名称要和源svn的项目名称一致

vim /var/svn/svnrepos/zjsjyytdoc/conf/svnserve.conf    #编辑项目配置文件
=======修改如下内容=======
anon-access = none            #禁止匿名访问
auth-access = write            #认证用户可写
password-db = /var/svn/svnrepos/conf/passwd    #由于多项目统一管理,所以指定用户配置文件
authz-db = /var/svn/svnrepos/conf/authz        #由于多项目统一管理,所以指定权限配置文件
realm = zjsjyytdoc-sync                #项目名称描述
=========================

rm -rf  /var/svn/svnrepos/zjsjyytdoc/conf/{authz,passwd}    #由于已经指定了用户及权限文件,所以删除项目自带的文件


三、创建备份用户(两端)

在源svn以及备份svn上都创建用户 : svnbackup

源SVN上给用户对备份项目的只读权限
备份SVN上给用户对项目的读写权限


四、执行sync操作

在备份SVN上创建的项目中的hooks目录中创建个文件
cd /var/svn/svnrepos/zjsjyytdoc/hooks

vi pre_revprop-change

=======添加一行内容====
exit 0
======================

chmod +x pre_revprop-change

svnsync init svn://123.56.168.226/zjsjyytdoc https://zjcmcc.5upm.net/svn/zjsjyytdoc 
#前面的是备份的项目,后面的是源项目,这是初始化命令。然后会提示输入svn的用户名密码,没有root直接回车他就过去了,让你输入用户名

image.png


svnsync sync https://zjcmcc.5upm.net/svn/zjsjyytdoc    #这是同步命令,url是源svn地址


分享:

支付宝

微信