接上篇SVN版本库无损迁移与自动备份(一)
三、定时自动备份版本库解决方案
1、业务目标
①版本库的远程自动备份,将版本库备份到另一台机器上。
假设我们要同步的源版本库为 http://192.168.1.210/svn/svnprojec位于机器A,具体路径我们不必理会,因为我们使用http协议
目标库在机器B, file:///F:/Repositories/svnproject,这个为了简单和安全,我们使用file://协议
②实现版本库的本地备份,只需要将上述目标库的位置,改成本地位置即可。
2、相关指令
达到备份版本库的目的要用到两个命令:
①svnsync init
初始化,建立目标库和源库之间的同步关系
命令格式: svnsync init 目标库URL 源库URL
(两个URL之间有空格)
② svnsync sync
真正的同步
命令格式: svnsync sync 目标库URL
3、过程示例
(1)备份
①在要备份的机器上建立版本库(如果是本地备份,则在本地建立版本库):svnadmin create test1BackUp
②进入源版本库的hooks目录,例如cdD:\Repositories\TestRepostitory\hooks
③创建pre-revprop-change.bat文件:复制pre-revprop-change.tmpl,将扩展名改为pre-revprop-change.bat,并且清空原有的所有内容,保存。
④修改文件:修改pre-revprop-change.tmpl文件,用记事本打开该文件,把文件最后的exit 1改为exit 0
(原脚本的意思是如果修改的是svn:log属性,将允许修改,返回0;否则,不允许,返回1,我们要将它改为允许修改所有的属性,在脚本中直接返回0)
⑤同步初步:
在目标机器上,打开命令提示符窗口,打开SVN服务器Bin目录,运行
svnsync init file:///D:/Repositories/test1BackUp https://192.168.0.110/svn/Test1
(会提示输入用户名和密码,这里提供的用户名和密码是可以完全读取于https://192.168.0.110/svn/Test1的计算机密码,用户名和密码)
⑥实现同步:
在目标机器上,打开命令提示符窗口,打开SVN服务器Bin目录,运行
svnsyncsync file:///D:/Repositories/test1BackUp
(如果提示输入用户名和密码,你可以在这个命令之后加上 username 、password参数
即svnsync sync file:///D:/Repositories/test1BackUp --username username --password password)
注:
第⑤⑥两步可以直接放在一起,写入到一个批处理文件(新建记事本,将⑤⑥中的两句话放入,改记事本后缀为.bat),将该批处理文件放入SVN服务器Bin目录,双击运行即可。一会我们设定执行备份会用到这个批处理文件。
如果是本地备份,则只需将目标URL改为本地库位置即可。(针对VisualSVN,因为一台机器上只能有一个VisualSVN服务器,所以所有版本库只能在一个目录下,才能被服务器识别,这样,备份只能备在相同目录,似乎意义不大。)
如果版本库较大时,备份的时间会有点慢,花费几个小时或者一天也是有可能的,
备份完毕,你可以打开目标库看看,和源库是一样的。
(2)定时执行备份。
这里我们用到了windows自带的任务计划程序
①在控制面板\所有控制面板项\管理工具下,打开任务计划程序
主界面:点击右侧操作的创建任务
②开始创建任务,常规选项卡下,主要设置任务的基本信息,这里我们一般给任务起一个名字就可以了,例如SVN同步
③操作选项卡下,点击新建,这里可以设定我们要执行的操作。我们备份SVN版本库,需要执行,刚才设定好的备份批处理文件。这个文件,我们实现应该放在SVN服务器安装目录的bin目录下(不要放错地方哦)。我们点击浏览,找到这个文件。
④在触发器选项卡下,我们可以新建触发器,这里我们可以设定执行刚才设定的操作的条件。让其自动执行。
⑤条件和设置选项卡下,可以设定执行该任务的其他条件,根据我们自己的情况选择即可。
最后确定,大功告成,我们的定时自动备份SVN版本库的任务就创建成功了。
提醒:如果版本库不是很大,小于15G,完全可以把它建在金山快盘目录下,使其自动备份到云端
注:我使用的win7旗舰版,在winXP环境下创建任务,大同小异,相信大家都能轻松搞定。
分享到:
相关推荐
SVN 版本库无损迁移与自动备份 本文总结了 SVN 版本库无损迁移与自动备份的方法,旨在帮助读者快速实现版本库的迁移和自动备份。下面将对标题、描述、标签和部分内容进行详细解释。 标题:“SVN 版本库无损迁移与...
#### 二、Linux环境下的SVN版本库迁移 **1. 全局备份** 全局备份是指对整个版本库进行备份,包括所有的数据和历史记录。这种方式可以确保在新环境中能够完全恢复所有信息。具体的备份命令如下: ```bash svnadmin...
**SVN 版本库迁移**是当原始服务器出现问题或者需要更换硬件、升级软件环境时必要的操作。迁移过程确保了代码版本控制系统的连续性,不影响团队的开发工作。以下是两种常见的SVN版本库迁移方法: ### 第一种方法:...
"SVN版本库备份操作脚本"就是针对这一需求设计的工具,它能够帮助用户自动化执行SVN版本库的备份任务,并且包含完全备份以及增加备份日志的功能。 完全备份是指对SVN版本库的完整复制,包括所有文件、目录和版本...
为了确保数据安全,定期备份SVN库是至关重要的。本篇将详细解释如何在Linux下创建一个自动备份SVN仓库的shell脚本,并将其设置为计划任务。 首先,我们需要创建一个存放备份数据的路径。在示例中,路径是`/home/...
最强大的Svn在Windows下实现自动全备份和增量备份,以及异地备份,一切自动化完成 1.SVN备份内容 SVN在Windows下的自动备份实现,包括: 1)SVN目录的全备份(1周或1个月备份1次,由windows计划来调度执行); 2)...
如果在迁移过程中数据有异常情况,例如出现数据不匹配的问题,可以通过备份当前版本库,重新检出一份新的版本库,然后进行差异比较后再次提交。 通过上述步骤,我们可以确保在不频繁进行迁移的情况下,对VisualSVN ...
与备份不同的是,同步通常涉及到两个活跃的版本库,而非备份文件。 **实现方法:** 1. **使用`svnadmin dump`和`svnadmin load`命令**:这两个命令可以用来导出和导入版本库数据,从而实现版本库间的同步。 2. **...
SVN 版本库备份与恢复 本文档将详细介绍 SVN 版本库的备份与恢复过程,涵盖了从备份已有项目到恢复新的版本库的所有步骤。 一、备份已有项目 =============== 在本示例中,我们将备份名为 Test 的 repository...
SVN 备份、还原与迁移操作手册 SVN(Subversion)是一种版本控制系统,用于管理软件开发过程中的代码变更。备份、还原和迁移是 SVN 中三项非常重要的操作,以下是关于 SVN 备份、还原与迁移的知识点总结: 一、SVN...
Windows环境下配置SVN、Apache和TortoiseSVN的过程,以及SVN版本库的迁移,涉及到多个关键知识点。首先,让我们深入了解这些组件。 1. **TortoiseSVN**: TortoiseSVN是Subversion的Windows shell集成客户端,提供...
在Windows平台上,我们可以利用SVN的命令行工具以及系统自带的任务计划程序,实现SVN仓库的自动备份。下面将详细介绍如何配置和使用SVN自动备份脚本。 1. **SVN基础** SVN的核心功能是追踪文件和目录的更改,它...
`svnadmin dump`命令会导出SVN仓库的全部内容到一个二进制文件,这个文件就是备份文件。为了实现自动化,我们需要编写一个批处理文件或使用shell脚本来执行这个命令,并将其配置为Windows计划任务的一部分。 1. **...
在这个主题中,我们将深入探讨SVN的安装和配置,以及如何进行库的备份和迁移。 1. SVN安装: - **Windows**:在Windows上,可以使用VisualSVN Server,它提供了一个易于使用的图形界面来管理SVN服务器。 - **...
利用svnsync同步SVN版本库,将之前主库上的SVN数据迁移到VisualSVN上,然后在实现版本库的远程自动备份,版本库备份到另一台机器上。
本篇文章将探讨如何利用Python来自动化地从SVN版本库生成版本号,以辅助软件的发布和维护工作。 首先,我们需要理解`MakeVersion.py`、`VersionConf.py`和`VersionFormat.txt`这三个文件的作用: 1. `MakeVersion....
全量备份是指备份整个SVN配置库,包括所有的文件、目录和版本历史。在描述中提到的“通过网络映射进行全量备份”意味着备份过程可能涉及将远程服务器上的配置库复制到本地网络位置,这通常通过网络共享或SFTP等协议...