现在开发通常都会用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. C语言【字符串数组交叉输出】
  2. POST教程笔记 - WinHttp获取网页源码
  3. Django-Model中的ForeignKey,ManyToManyField与OneToOneField
  4. Oracle 11g RAC features
  5. Python函数参数值传递
  6. hdu 5411 CRB and Puzzle 矩阵高速幂
  7. 4.数据库表的高级查询
  8. [bzoj 1861][zjoi2006] 书架
  9. CentOS导入CA证书
  10. iOS - Safe iOS 加密安全
  11. 【no-descending-specificity】问题
  12. 数字孪生-第二章、数字孪生技术
  13. 中国正式进入 5G 商用元年!
  14. 软考中级-软件设计师知识点与例题-1、计算机组成与结构
  15. excel工具栏隐藏了怎么办_你会用 Excel照相机吗?
  16. Kronos木马都在不断进步,而你呢?
  17. python判断一个月的天数_python日期列表中每个月的天数
  18. 特斯拉Powerwall网关可能受到黑客攻击
  19. 第四套人民币荧光冠号大全
  20. 网易新闻页面信息抓取(htmlagilitypack搭配scrapysharp)

热门文章

  1. Android应用源码仿暴风影音安卓客户端源码
  2. Android开源项目以及开源框架,各种UI实现效果。
  3. 计算机网络---IP数据报
  4. 一个爬取网站的小技巧
  5. 全志a33 编译器 linux,全志A33-ARM编译并安装net-tools
  6. JavaScript核心原理精讲第三章 数组原理和排序
  7. Apache Log4j 漏洞持续爆雷,还能安心玩论坛吗?
  8. 揭秘:HR是如何做背景调查的?你真的就可以隐瞒事实了吗?
  9. 域名被微信屏蔽拦截的原因和防封方案
  10. 一个线程死掉就等于整个进程死掉