济宁果壳科技是一家网站开发,软件定制开发 等一系列的开发。拥有丰富的网站开发经验;下面咱们来说一下 咱们常用的SVN仓库数据迁移;
济宁果壳科技
2017-11-17 17:31:52
0
6095
一、软件开发代码托管平台或者工具都很多,VS提供自己的一套托管;SVN也是码农们做常用的管理项目数据的协同工具:SVN有自己的优势也有自己的劣势;下面我们说一下SVN仓库数据迁移的方法:
SVN仓库数据迁移不是很常用,但是必须要掌握。
当我们部署了SVN的服务端时,我们想将这台服务器上已有的SVN仓库数据整体迁移到别的机器上时,同时还要保留所有版本号和版本信息,那么我们需要通过下面的方法来解决:
、将准备要迁移的仓库导出:
svnadmin dump E:\SVN\Repositories\GuaChe > E:\GuaChe
、我们将第一步导出的SVN仓库备份拷贝到我们的目标服务器上,最好放到硬盘的根目录,这样写命令的时候路径简短,我放到了E盘根目录下;
、在我们的目标服务器上创建新的仓库(前提条件 安装了SVN Server 端;仓库的硬盘存储路径可以通过SVN Server更改路径的):
svnadmin create E:\SVN\Repositories\GuaChe
、将E盘根目录下的GuaChe 仓库备份导入到目标服务器的 第3步新建的仓库中:
svnadmin load E:\SVN\Repositories\GuaChe < E:\GuaChe
注意:以上操作会导致所有的配置丢失,只要将原来仓库conf文件复制或覆盖到目标服务器上对应的仓库里就可以了。以上4步中,建议使用绝对路径;
二、为了避免SVN仓库所在的服务器崩溃,下面写了如何备份仓库数据的解决方案:
svn提供了一个简单的方法svnadmin dump命令去实现备份,在windows下,在"任务计划程序"中定期去跑bat去实现稳定的备份,
我的应用环境是:Windows 2012 Server R2
编写svnadmin dump命令脚本,内容可参考如下,备份的文件名按日期命名
1、 set datatime=%date:~0,4%-%date:~5,2%-%date:~8,2%_%time:~0,2%-%time:~3,2%-%time:~6,2%
2、 set filename=smp_svn_dump_%datatime%
3、 svnadmin dump C:\Svn\Repositories\DOC > E:\SvnBak\DOC\%filename%
注意:C:\Svn\Repositories\DOC是仓库所在的硬盘目录,E:\SvnBak\DOC\为仓库的备份目录,也可以备份到共享磁盘,这个技术朋友们自己解决。
4、将上述的三步写入TXT文档中,将TXT文档的扩展名改成bat扩展名,windows可执行文件; 用windows任务计划程序定时执行bat的文件;这样就能得到备份的SVN仓库文件了;至于怎么使用windows任务计划,大家可以百度一下;资料挺全的。