当前位置: 首页 > 工具软件 > svn admin > 使用案例 >

SVN服务端备份与还原

方宏才
2023-12-01

一、SVN冷备:

环境说明:winServer 2008r2   VisulSVNSever2.7 

 

1.查找SVN服务器上目录的部署位置:

   启动visualSVNServer  右键VisualSVN Server (local)-> Properties->Stotrage

   查看所有的文件库目录

2.选择要备份的目录,复制。(备份文件生成)。

3.还原:在SVNServer上创建项目。重复1,2 找到新建项目对应的文件,使用备份文件夹替换。刷新SVN服务器目录树即可。

 

二:备份还原:

1.svnadmin dump 导入数据文件:

 

1)Cmd 打开命令行提示工具。

2)找到svnServer 安装目录下的svnadmin.exe   一般为  ./VisualSVN Server/bin/svnadmin.exe,拖拽只命令行窗口,去掉.exe  

3)在末尾空格 输入 dump

4)使用一.1.2找到要备份的文件库位置 ,拖拽至命令行窗口

5)末尾空格输入 > backfile.dump           backfile 为要到出的文件的完整名 dump为自定义后缀 任意 均可  如 e:\MyWork.d     e:\MyWork.df

命令行输入 如下:

 "D:\Program Files\VisualSVNServer\bin\svnadmin" dump E:\Repositories\testSVN > e:\testSNVBack.dbc

执行输出:*.Dumped revision 0

                 *.Dumped revision 1

                  …..

                 *.Dumped revision n

 

2.svnadmin load 还原

1)在SVNServer上创建空项目

2)重复1.1),1.2)

3)空格输入load  重复1.4) 

4)输入 < backfile.dump

 

完整命令行如下:

"D:\Program Files\VisualSVNServer\bin\svnadmin" load E:\Repositories\testSVN < e:\testSNVBack.dbc

 

 

3.svnadmin dump 备份指定版本:

            svnadmin dump -r lowRevision:HeighRevision > ouputfile.bf

导出0-50 的版本 

 "D:\Program Files\VisualSVNServer\bin\svnadmin" dump -r 0:50 E:\Repositories\testSVN > e:\testSNVBack.dbc

 

4.导出增量  dump -r  lowRevision[:HeighRevision] --incremental    []可选

"D:\Program Files\VisualSVNServer\bin\svnadmin" dump -r 1 --incremental E:\Repositories\testSVN > e:\testSNVBack.dbc

"D:\Program Files\VisualSVNServer\bin\svnadmin" dump -r  10:100 --incremental E:\Repositories\testSVN > e:\testSNVBack.dbc

 

三、过滤目录

1.使用svndumpfilter 过滤dump 导出的文件

   1) include  选择制定的目录

"D:\Program Files\VisualSVNServer\bin\svndumpfilter" include /trunk <E:\testSNVBack.dbc> e:\testFilter.dbc     

            ------路径名称区分大小写;

            ------如果include 的路径中有使用到其他路径的 需要将用到的路径包进来。

"D:\Program Files\VisualSVNServer\bin\svndumpfilter" include /trunk /tag  <E:\testSNVBack.dbc> e:\testFilter.dbc    

2)exclude  排除制定的目录。排除掉依赖的目录,将导致恢复失败。

  所以尽量不要使用 copy from path 来移动目录。

 

 

3)使用过滤后的文件恢复SVN库时经常与遇到错误提示

*adding path :   ……(某目录)  svnadmin: E160013; File not found: transaction  ……..,path '某目录'  

使用SVNserver 创建对应的目录,再执行 load 例如:

某目录 为  '/trunk/source/xx',则使用SVNServer 创建 trunk/source目录

 类似资料: