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