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

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

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

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

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

\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:

~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:

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

nul

echo版本库压缩完成!

rem清除临时创建备份目录

remrd/s/q%BACKUP_DIRECTORY%

gotoend

:

checkBack

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

end

echoon

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

4.备份还原

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

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

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

Begin

@echooff

setlocalenabledelayedexpansion

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

echo.

设置SVN命令目录

setSVN_CMD="

\ProgramFiles\VisualSVNServer\bin"

设置所有版本库根目录

setREPOS_ROOT=C:

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

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备份的版本库版本信息如下:

>

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

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开始备份版本库%%~ni……

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

setversion=%%k

set/aversion=!

version!

+1

增量备份版本库

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

head--incremental>

%BACKUP_DIRECTORY%\%%~ni-!

-%%j.dmp

echo%%~ni:

!

-%%j>

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

-%%j.dmp!

)else(

全量备份版本库

%SVN_CMD%\svnadmindump--deltas%%~fi>

%BACKUP_DIRECTORY%\%%~ni-0-%%j.dmp

0-%%j>

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

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

echo%%j>

%REPOS_LAST_REVERSION_DIRECTORY%\%%~ni_last_revision.txt

%REPOS_LAST_REVERSION_BACKUP_DIRECTORY%\%%~ni_last_revision.txt

删除临时文件

del%%~ni_last_revision.tmp

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全部版本库备份成功!

Error1

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

gotoEnd

Error2

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

End

echo程序执行结束!

3.备份结果

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

LoadBackUp.bat

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

ifnotexist%REPOS_BACKUP_ROOT%gotoError

还原所有版本库

执行版本库执行还原操作By陈静.===================>

%REPOS_BACKUP_ROOT%\SvnLoad.log

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

将所有保存版本库备份的文件夹名写入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开始还原版本库%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>

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

delfileName.tmp

delfolderName.tmp

echo全部版本库还原成功!

Error

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

Pause

四、添加自动备份

1.添加任务计划

2.设置自动备份

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

设置备份机制:

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

当前位置:首页 > 人文社科 > 文化宗教

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

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