美文网首页
svn远程热备

svn远程热备

作者: 肥美的羊羔 | 来源:发表于2018-11-19 15:35 被阅读39次

备份源机器:192.168.1.51

备份源目录:d:\Repositories\

备份源项目:该目录下所有svn项目

备份方式:svnsync热备

备份目标机器:我的本机192.168.1.44

备份目标目录:G:\Repositories\

备份操作(命令均在命令行,svn安装目录的bin目录中进行)

    1,192.168.1.44机器安装相同版本svn服务器;

    2,目标机器创建与源机器待备份项目相同的版本库;

    3,目标机器所有版本库中的hooks目录,建立一个pre-revprop-change.bat空文件;(目的是允许修订版本属性的修改)

    4,目标机器创建用于备份的账号密码,同时为源机器创建一个相同的账号。

    5,为目标机器和源机器创建的同一账号,赋予所有待备份项目根目录的读写权限(包括源机器和备份机器)

    6,初始化目标机器的备份数据,命令:svnsync init(ialize) http://192.168.1.44/svn/版本库名称 http://192.168.1.51:81/svn/版本库名称 --username 账号 --password 密码,回车即可

    显示:Copied properties for revision 0.表示初始化成功。

    注意:需要为每一个版本库进行这个操作。

    7,在目标机器进行数据同步:svnsync synchronize http://192.168.1.44/svn/版本库名称 --username 账号 --password 密码,回车即可。(这个同步会花比较长的时间)

    8,源机器所有版本库中的hooks目录,创建post-commit.bat文件,用于实时备份(这个实时不准确,需要加到系统的计划任务),文件内容如下:

    echo off

    set SVN_HOME="C:\Program Files\VisualSVN Server"#(svn服务的安装目录)

    %SVN_HOME%\bin\svnsync sync --non-interactive --username=账号 --password=密码 http:192.168.1.44/svn/版本库名称

    9,将步骤8的实时备份文件,加入到系统的计划任务中,定时执行

数据同步时报错:svnsync: E000022: Destination repository has not been initialized

哈哈,这个有点巧,百度之后有个词条是翻译,直接告诉我是目标库未初始化,回去看了一下,要做数据同步的那个库,漏掉做初始化了。初始化之后,就可以同步正常了。(英文不过关的尴尬)


12月13日

后期,在备份机器进行数据同步,或者使用ip地址在小乌龟上查看项目的时候,会出现卡住的情况,一直加载不到项目列表。前期一直没有考虑其他问题,因为我同时在两个机器上创建了备份,而第1个备份机器出现项目无法访问的情况,是在创建了第2个备份之后,于是一直以为是两个备份之前产生了什么问题,但是也一直没有找到问题原因。

今天,因为要手动同步数据,我便在第1个备份机器命令行操作,一直没有关。等了很长时间,提示信息,如下:

svnsync: E175012: Unable to connect to a repository at URL 'http://192.168.1.44/svn/meip'

svnsync: E175012: Connection timed out

我便转为使用127.0.0.1来加载,结果是成功的。

再在命令行使用ipconfig -all,发现我本机的ip地址,不知道从什么时候开始,已经由原来的44,变成了17。(本地是动态ip)

下次如果遇到相同的问题,比如在命令行同步数据一直没有反应,或者提示连接超时;跑小乌龟也是一直没有反应,可以查一下是不是ip地址发生了变化


2019年1月25

1,同步属于增量同步,也就是说,如果同步过程意外中断也不用担心,因为中断前同步的数据都已经在svn中了,再次同步,只是将剩余未同步的进行同步。

2,同步在后台加载过程中未继续等待而人为中止,再同步的时候会提示上一次的同步操作被锁住了,提示信息:Failed to get lock on destination repos, currently held by “……”,这时,使用命令解锁即可。在命令行输入:svn propdel svn:sync-lock --revprop -r 0 http://ip:port/svn/project 解决

相关文章

  • svn远程热备

    备份源机器:192.168.1.51 备份源目录:d:\Repositories\ 备份源项目:该目录下所有svn...

  • mac系统使用SVN常用的命令

    1. 拉取远程SVN的代码: svn checkout 远程地址 --username= *** --passwo...

  • svn 使用

    1、创建远程仓库(svn import) 命令:svn import project_dir http://192...

  • [041]git 使用初步

    背景 用过几年的svn,在svn中修改了代码都是直接提交到远程仓库里去,这样如果你的开发机器域远程仓库网络断了你就...

  • RabbitMQ学习(九)集群模式

    一、RabbitMQ集群模式 主备模式 远程模式 镜像模式 其中主备模式如下: 远程模式如下: 镜像模式如下: 镜...

  • SVN,Git

    一.SVN 1.基本操作 下载远程仓库到本地(cd目录下)$svn check out 仓库路径 --userna...

  • 从零到深入认知版本控制-svn篇(2)

    一、svn的体系结构: 最右侧:讲述svn远程服务器资源库 svnRepository中FSFS和Berkley ...

  • svn 版本库主从设置

    前提: 主机A:192.168.1.10 (主) 主机B:192.168.1.20 (备) 1.安装svn软件(...

  • Cornerstone客户端

    0.在SVN建立项目 1.打开Cornerstone,添加远程仓库 2.将Cornerstone与SVN连接 3....

  • Cornerstone-svn-mac

    0.在SVN建立项目 1.打开Cornerstone,添加远程仓库 2.将Cornerstone与SVN连接 3....

网友评论

      本文标题:svn远程热备

      本文链接:https://www.haomeiwen.com/subject/iphafqtx.html