SVN备份还原操作手册范本.docx

上传人:b****3 文档编号:3587960 上传时间:2022-11-24 格式:DOCX 页数:13 大小:395.43KB
下载 相关 举报
SVN备份还原操作手册范本.docx_第1页
第1页 / 共13页
SVN备份还原操作手册范本.docx_第2页
第2页 / 共13页
SVN备份还原操作手册范本.docx_第3页
第3页 / 共13页
SVN备份还原操作手册范本.docx_第4页
第4页 / 共13页
SVN备份还原操作手册范本.docx_第5页
第5页 / 共13页
点击查看更多>>
下载资源
资源描述

SVN备份还原操作手册范本.docx

《SVN备份还原操作手册范本.docx》由会员分享,可在线阅读,更多相关《SVN备份还原操作手册范本.docx(13页珍藏版)》请在冰豆网上搜索。

SVN备份还原操作手册范本.docx

SVN备份还原操作手册范本

SVN备份还原操作手册

一、命令备份

1.svnadmindump全量备份

进入SVN服务端安装目录下运行svnadmindump命令(C:

/Repositories/QA为SVN库中项目目录,full.svn.bak为备份文件名)

2.svnadmindump增量备份(以增量把版本库8转存到svn.bak.1,-r[--revision]:

指定版本;--incremental:

以增量方式进行转存)

3.svnadmindump还原(先创建一个新的版本库,再还原完全备份,有增量备份的再还原增量备份)(进入SVN服务端安装目录下调用命令创建test测试库)

4.运行svnadminload还原命令(增量还原同全量还原)

 

二、脚本备份(针对项目库备份)

1.svnadmindump全量备份脚本(在SVN库中添加全量备份脚本backup.bat,需要安装对应的压缩工具)

2.脚本内容

remSubversion的安装目录

setSVN_HOME="C:

\ProgramFiles\VisualSVNServer"

rem所有版本库的父目录

setSVN_ROOT=C:

\Repositories

rem备份的目录

setBACKUP_SVN_ROOT=C:

\bak

rem创建存放版本库的临时目录

setBACKUP_DIRECTORY=%BACKUP_SVN_ROOT%\%date:

~0,4%%date:

~5,2%%date:

~8,2%

ifexist%BACKUP_DIRECTORY%gotocheckBack

echo%date:

~0,4%%date:

~5,2%%date:

~8,2%:

建立备份目录%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log

remSVN版本库自动备份时需要rem创建备份目录

md%BACKUP_DIRECTORY%

cdC:

\ProgramFiles\VisualSVNServer\bin\

svnadmin.exe

dumpC:

\Repositories\QA>%BACKUP_DIRECTORY%\FINANCE%date:

~0,10%

rem验证目录是否为版本库,如果是则取出名称备份

remfor/r%SVN_ROOT%%%Iin(.)do@ifexist"%%I\conf\svnserve.conf"call%SVN_ROOT%\simpleBackup.bat"%%~fI"%%~nI

echo开始压缩版本库,请不要中止....

rem%SVN_ROOT%\7z.exea-tzip%BACKUP_SVN_ROOT%\%date:

~0,4%%date:

~5,2%%date:

~8,2%.zip%BACKUP_DIRECTORY%\*-r>nul

echo版本库压缩完成!

rem清除临时创建备份目录

remrd/s/q%BACKUP_DIRECTORY%

gotoend

:

checkBack

echo备份目录%BACKUP_DIRECTORY%已经存在,请清空。

gotoend

:

end

echoon

3.运行脚本backup.bat,会生成备份文件

4.备份还原

将备份文件考到SVN服务器安装目录下,运行SVN还原命令

三、脚本备份(针对SVN仓库备份)

1.svnadmindump全量备份脚本(在SVN库中添加全量备份脚本DumpAll.bat)

2.脚本内容

:

Begin

@echooff

setlocalenabledelayedexpansion

echo正在准备备份所有版本库……

echo.

:

:

设置SVN命令目录

setSVN_CMD="C:

\ProgramFiles\VisualSVNServer\bin"

:

:

设置所有版本库根目录

setREPOS_ROOT=C:

\Repositories

:

:

设置所有版本库备份根目录

setREPOS_BACKUP_ROOT=C:

\RepositoriesBackUp

ifnotexist%REPOS_BACKUP_ROOT%mkdir%REPOS_BACKUP_ROOT%

:

:

获取LastRevisions目录

setREPOS_LAST_REVERSION_DIRECTORY=%REPOS_BACKUP_ROOT%\LastRevisions

ifnotexist%REPOS_LAST_REVERSION_DIRECTORY%gotoError1

:

:

设置所有版本库备份目录

setBACKUP_DIRECTORY=%REPOS_BACKUP_ROOT%\%date:

~0,10%.dmp

setBACKUP_DIRECTORY=%BACKUP_DIRECTORY:

/=-%

ifexist%BACKUP_DIRECTORY%gotoError2

mkdir%BACKUP_DIRECTORY%

:

:

设置用户权限信息备份目录

setREPOS_USER_INFO_DIRECTORY=%BACKUP_DIRECTORY%\UserInfo

ifnotexist%REPOS_USER_INFO_DIRECTORY%mkdir%REPOS_USER_INFO_DIRECTORY%

:

:

设置LastRevisions备份目录

setREPOS_LAST_REVERSION_BACKUP_DIRECTORY=%BACKUP_DIRECTORY%\LastRevisions

ifnotexist%REPOS_LAST_REVERSION_BACKUP_DIRECTORY%mkdir

%REPOS_LAST_REVERSION_BACKUP_DIRECTORY%

:

:

备份所有版本库

:

:

i->版本库、j->版本库最新版本号、k->上次完全备份时版本库的版本号

echo===================%date%%time:

~0,8%:

执行全部版本库备份By陈静.===================

>>%REPOS_BACKUP_ROOT%\BackUp.log

echo备份的版本库版本信息如下:

>>%REPOS_BACKUP_ROOT%\BackUp.log

:

:

读取版本库根目录下每个文件夹,并判断其是否是一个版本库

for/r%REPOS_ROOT%%%iin(.)doifexist%%i\conf\svnserve.conf(

:

:

将当前版本库的最新版本信息写入tmp文件

%SVN_CMD%\svnlookyoungest%%~fi>%%~ni_last_revision.tmp

:

:

取出当前版本库的最新版本信息,判断其是否大于0,是则进行处理

for/f%%jin(%%~ni_last_revision.tmp)doif%%jgtr0(

:

:

判断以前是否存在该版本库的版本信息,存在说明以前备份过,需要基于其进行备份;否则对该版本库

进行全新备份

ifexist%REPOS_LAST_REVERSION_DIRECTORY%\%%~ni_last_revision.txt(

:

:

读取该版本库上次备份时保存的版本信息,如果小于当前版本信息则进行处理

for/f%%kin(%REPOS_LAST_REVERSION_DIRECTORY%\%%~ni_last_revision.txt)doif%%klss%

%j(

echo.

echo开始备份版本库%%~ni……

:

:

取得该版本库本次备份的起始版本号

setversion=%%k

set/aversion=!

version!

+1

:

:

增量备份版本库

%SVN_CMD%\svnadmindump--deltas%%~fi--revision!

version!

:

head--incremental>

%BACKUP_DIRECTORY%\%%~ni-!

version!

-%%j.dmp

echo%%~ni:

!

version!

-%%j>>%REPOS_BACKUP_ROOT%\BackUp.log

echo版本库%%~ni已经成功备份到%BACKUP_DIRECTORY%\%%~ni-!

version!

-%%j.dmp!

)else(

echo.

echo开始备份版本库%%~ni……

:

:

全量备份版本库

%SVN_CMD%\svnadmindump--deltas%%~fi>%BACKUP_DIRECTORY%\%%~ni-0-%%j.dmp

echo%%~ni:

0-%%j>>%REPOS_BACKUP_ROOT%\BackUp.log

echo版本库%%~ni已经成功备份到%BACKUP_DIRECTORY%\%%~ni-0-%%j.dmp!

:

:

将本次版本库备份时的最新版本信息写入文件保存

echo%%j>%REPOS_LAST_REVERSION_DIRECTORY%\%%~ni_last_revision.txt

echo%%j>%REPOS_LAST_REVERSION_BACKUP_DIRECTORY%\%%~ni_last_revision.txt

:

:

删除临时文件

del%%~ni_last_revision.tmp

echo.

echo开始备份用户权限信息……

xcopy/y%REPOS_ROOT%\authz%REPOS_USER_INFO_DIRECTORY%

xcopy/y%REPOS_ROOT%\authz-windows%REPOS_USER_INFO_DIRECTORY%

xcopy/y%REPOS_ROOT%\htpasswd%REPOS_USER_INFO_DIRECTORY%

echo.

echo用户权限信息备份成功!

echo.

echo全部版本库备份成功!

gotoend

:

Error1

echo.

echo提示:

echo上次备份保存的%REPOS_LAST_REVERSION_DIRECTORY%文件夹不存在,请确认后从上次备份中拷贝

LastReversions到%REPOS_BACKUP_ROOT%目录,重新运行程序;

echo或者,不基于上次备份重新执行备份!

echo重新备份?

(Y/N)

set/pinput=

if%input%==Y(

mkdir%REPOS_LAST_REVERSION_DIRECTORY%

gotoBegin

)else(

gotoEnd

:

Error2

echo.

echo备份目录已经存在,请确认后删除该目录,重新运行程序!

gotoEnd

:

End

echo.

echo程序执行结束!

3.备份结果

4.还原脚本(在SVN库中添加全量备份脚本LoadBackUp.bat)

:

:

LoadBackUp.bat

@echooff

echo正在准备还原所有版本库……

echo.

:

:

设置SVN命令目录

setSVN_CMD="C:

\ProgramFiles\VisualSVNServer\bin"

:

:

设置所有版本库根目录

setREPOS_ROOT=C:

\Repositories

:

:

设置所有版本库备份根目录

setREPOS_BACKUP_ROOT=C:

\RepositoriesBackUp

ifnotexist%REPOS_BACKUP_ROOT%gotoError

 

:

:

还原所有版本库

echo===================%date%%time:

~0,8%:

执行版本库执行还原操作By陈静.===================>>%REPOS_BACKUP_ROOT%\SvnLoad.log

echo还原的版本库版本信息如下:

>>%REPOS_BACKUP_ROOT%\SvnLoad.log

:

:

将所有保存版本库备份的文件夹名写入tmp

dir/b%REPOS_BACKUP_ROOT%\*.dmp>folderName.tmp

:

:

依次操作tmp文件中包含的文件夹

for/f%%hin(folderName.tmp)do(

:

:

将所有版本库文件名写入tmp

dir/b/a-d%REPOS_BACKUP_ROOT%\%%h\*.dmp>fileName.tmp

:

:

依次操作tmp文件中包含的备份文件

for/f%%iin(fileName.tmp)do(

:

:

处理备份文件名,以取得版本库名和相应的版本号

for/f"tokens=1,2*delims=-"%%jin("%%~ni")do(

echo.

echo开始还原版本库%REPOS_BACKUP_ROOT%\%%h\%%j-%%k-%%l……

:

:

版本库根目录不存在和版本库名相同名字的文件夹则创建一个

ifnotexist%REPOS_ROOT%\%%j(

mkdir%REPOS_ROOT%\%%j

:

:

版本库根目录中该文件夹不是版本库,则创建一个

ifnotexist%REPOS_ROOT%\%%j\conf\svnserve.conf(

%SVN_CMD%\svnadmincreate%REPOS_ROOT%\%%j

:

:

还原备份

%SVN_CMD%\svnadminload%REPOS_ROOT%\%%j<%REPOS_BACKUP_ROOT%\%%h\%%i

echo%%j:

%%k-%%l>>%REPOS_BACKUP_ROOT%\SvnLoad.log

echo版本库%REPOS_BACKUP_ROOT%\%%h\%%j-%%k-%%l还原成功!

:

:

删除临时文件

delfileName.tmp

delfolderName.tmp

echo.

echo全部版本库还原成功!

gotoend

:

Error

echo.

echo版本库备份目录%REPOS_BACKUP_ROOT%不存在,请确认后重新运行程序!

gotoEnd

:

End

Pause

四、添加自动备份

1.添加任务计划

2.设置自动备份

选择备份脚本目录文件和用户名、密码:

设置备份机制:

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1