现在开发通常都会用SVN来进行版本控制,并且SVN服务端也都会统一的建立到某个服务器上来保存项目源码,这没什么问题。但是如果有一天服务器发生了不可恢复的故障,这将造成不可弥补的巨大损失。所以我们要做好备份工作,当主版本库出现问题时,可切换到备用版本库,从而提高SVN的可用性。

今天介绍的就是SVN版本库的远程自动备份,将版本库备份到另一台机器上。当然实现的方式是多种多样的,我采用的是SVN的svnsync工具来同步版本库。

同步备份所需要的命令


1)svnsync init

初始化,建立目标库和源库之间的同步关系

命令格式:svnsync init  目标库URL   源库URL

2) svnsync sync

真正完成同步过程

命令格式: svnsync sync  目标库URL

具体实现过程

假设我们要同步的源版本库为https://192.168.24.187:443/svn/test 位于机器A,(test为建立的测试项目)

目标库在机器B:file:///F:/Repositories/test  为了简单和安全,我们使用file://协议。(同样在机器B上建立相同的test项目,如果已经有相同的项目要先清除)

然后进行以下操作:

1.修改目标库机器B中的脚本“pre-revprop-change.tmpl”

进入目录"F:\Repositories\test” ( F:\Repositories这个是代码库的保存路径,视实际而定)

编辑“pre-revprop-change.tmpl”文件,将其最后一行修改为:”exit 0”;

2.创建脚本文件

名称:pre-revprop-change.bat

内容:echo"Changing revision properties other than svn:log is prohibited">&2

exit 0

3. 初始化操作,建立目标库和源库之间的同步关系

在cmd窗口中使用cd命令,定位到svn安装目录的bin文件夹下,然后输入以下命令:

svnsyncinit file:///F:/Repositories/test   https://192.168.24.187:443/svn/test/

如图:

回车后,可能会出现以上错误,意思就是证书验证失败,这时候只要输入“P”,再按回车键即可。然后会提示输入svn的用户名和密码,如下图:

4. 开始备份

继续输入命令:svnsync sync file:///F:/Repositories/test

开始同步:

等待同步完成即可查看到刚同步过来的项目:

实现自动备份:

把命令“svnsync sync file:///F:/Repositories/test”放入一个bat脚本中,然后再通过任务计划程序创建一个任务去定时定时执行这个bat文件,即可实现版本库的定时自动备份。



SVN版本库的异地备份相关推荐

  1. 工作随笔——使用svnsync实时备份SVN版本库

    前段时间把SVN版本库从win迁移到了Linux上,没隔几天那台win的磁盘就严重坏道了....这TMD什么运气! 花费了点时间研究了下svn自己的同步工具.写个日志记录下. 注意:svnsync要求 ...

  2. svnsync实现版本库的同步备份

    svnsync实现版本库的同步备份  实验环境: A,172.17.201.243(主) B,172.17.201.88(备) 项目需求,生产环境要求svn服务器实现热备机制,于是就想到了svn自带的 ...

  3. 如何给SVN版本库瘦身

    转截请注明来源:http://blog.csdn.net/caoshiying 当svn库庞大到一定程度的时候,无论是在查询还是在备份方面肯定会给我们带来很多不便,对于有把SVN版本库随身携带到移动硬 ...

  4. linux+svn+拉取版本_在linux客户端下管理svn版本库

    把linux作为客户端管理svn版本库,不一定是svn服务器. 1.svn管理命令用法:[root@xiaoyu ~]# svn --help usage: svn [opations] [args] ...

  5. Ubuntu8.10下迁移SVN版本库到新增的SAS硬盘

    一.新增SAS硬盘 公司一台DELL POWEREDGE R200的服务器安装了UBUNTU8.10版本的系统并配置作为SVN服务器. 因数据增长迅速,300GB的硬盘空间将近用完,近期新买了一块30 ...

  6. svn服务端删除版本库_删除SVN目录及从服务器端删除SVN版本库文件方法详解

    删除SVN目录 当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除,这里总结了一下在linux和win下的办法. 一.在linux ...

  7. 项目从服务器移除,删除SVN目录及从服务器端删除SVN版本库文件方法详解

    删除SVN目录 当使用了svn版本控制系统后每个目录下都会有一个.svn目录存在,开发完当交付产品或者上传到服务器时一般要把这些目录删除,这里总结了一下在linux和win下的办法. 一.在linux ...

  8. 宝塔安装 SVN 搭建svn版本库

    svn 默认端口号是 3690  注意 宝塔需要开放 3690 端口   服务器也需要开放 3690 端口 打开宝塔命令行, yum 安装SVN 第一步 安装SVN 命令: yum -y instal ...

  9. svn版本库浏览器_svn:版本库xxx不存在||svn:No such revision xxx的问题

    满意答案 ee0808 2016.11.13 采纳率:56%    等级:13 已帮助:8065人 svn:版本库xxx不存在||svn:No such revision xxx的问题一般情况下出现这 ...

最新文章

  1. php学习之道:WSDL具体解释(三)
  2. 有没有什么高效「炼丹」神器可以推荐?复旦fastNLP团队祭出内部调参利器fitlog...
  3. 浙大版《C语言程序设计(第3版)》题目集 练习2-17 生成3的乘方表 (15 分)
  4. mySql比较并获取当前时间x分钟之前的数据(时间是字符串类型)
  5. c 语言字符串转二进制,在C ++中将字符串转换为二进制序列
  6. [JAVA基础类库] Objec类
  7. emacs常用命令:移动光标
  8. bash shell 中时间操作常用方法总结
  9. (二)Cypher语言常用方法举例
  10. android如何引用布局,android 动态布局与引用第三方layout中的布局
  11. VC的MySQL编程
  12. java listeners_Java ActionListeners
  13. 需求条目化:一个让用户故事有效落地的套路
  14. js alert 封装 layui
  15. cass参考手册_CASS9.2参考手册
  16. VMware虚拟机(Ubuntu)添加物理串口
  17. element ui 手动清除表单效验提示语
  18. Spring Security OAuth2.0 认证协议【15】实现QQ第三方登录
  19. 夸奖对方代码写的好_不知道如何夸奖别人?五种赞美方式,让你得到你想不到的结果!...
  20. 施耐德m340设置ip后忘记ip,怎么恢复ip

热门文章

  1. Android9.0 锁屏分析
  2. iOS视频捕获入门篇
  3. 远程线程注入DLL到PC版微信
  4. 你了解Lumen和Nanite吗?在ue5场景制作中如何使用呢?
  5. Visual Studio 2015中使用Git
  6. 吴恩达深度学习 | (12) 改善深层神经网络专项课程第三周学习笔记
  7. 微信微报名html,微信报名方式
  8. 【Excel 教程系列第 10 篇】Excel 2016 界面介绍
  9. idea中web模块导入方法
  10. 熟悉安卓开发环境 之 BMI计算App