SVN备份还原操作手册范本Word文档格式.docx
- 文档编号:20380806
- 上传时间:2023-01-22
- 格式:DOCX
- 页数:13
- 大小:395.42KB
SVN备份还原操作手册范本Word文档格式.docx
《SVN备份还原操作手册范本Word文档格式.docx》由会员分享,可在线阅读,更多相关《SVN备份还原操作手册范本Word文档格式.docx(13页珍藏版)》请在冰豆网上搜索。
\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.设置自动备份
选择备份脚本目录文件和用户名、密码:
设置备份机制:
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- SVN 备份 还原 操作手册 范本