SVN 简单备份与还原
来源:互联网 发布:淘宝搜不到115了 编辑:程序博客网 时间:2024/05/16 05:48
备份 SVN 仓库是很麻烦的事,而 Coder 通常是很怕麻烦的人,于是 Zealic 就为减少麻烦,花了一点麻烦的时间,写了两个麻烦的脚本,解决了这个麻烦的问题。
1.备份脚本 DumpAll.bat
Copy Code
@ECHO OFF
::====================
::Author : Zealic
::Version : 1.00
::FileName : DumpAll.bat
::Summary : Dump 当前目录的所有 Svn 仓库,脚本将备份当前目录下的所有SVN仓库,
:: 本脚本依赖于 7za.exe 程序,请到下述连接下载程序
:: http://downloads.sourceforge.net/sevenzip/7za457.zip
::Update : 2008-11-26
::====================
SET VAR_DATE=%DATE:~0,4%%DATE:~5,2%%DATE:~8,2%
dir /B /AD > DIRS
IF EXIST DUMP_FILES (
DEL /Q DUMP_FILES
)
FOR /F %%i IN (DIRS) DO (
SET REPOS_NAME=%%i
CALL :DUMP_REPOS
)
SET REPOS_NAME=
ECHO.
ECHO Compressing dump files...
7za a Repos_%VAR_DATE%.7z *.bin
ECHO Delete dump files...
FOR /F %%i IN (DUMP_FILES) DO (
DEL /Q %%i
)
DEL /Q DIRS
DEL /Q DUMP_FILES
ECHO Successed.
GOTO :EOF
::==== Functions ====
:DUMP_REPOS
SET DUMP_FILE=%REPOS_NAME%.bin
ECHO Dumping repository ^"%REPOS_NAME%^" ...
svnadmin dump ^"%REPOS_NAME%^" -q > %DUMP_FILE%
IF %errorlevel%==0 (
ECHO %DUMP_FILE% >> DUMP_FILES
) ELSE (
DEL /Q %DUMP_FILE%
ECHO Dump ^"%REPOS_NAME%^" failed.
)
SET DUMP_FILE=
ECHO.
2.还原脚本 LoadAll.bat
Copy Code
@ECHO OFF
::====================
::Author : Zealic
::Version : 1.00
::FileName : LoadAll.bat
::Summary : Load Svn 仓库,确保当前目录为没有任何子目录,
:: 脚本将搜索当前目录下的 *.bin 文件,自动为其创建仓库并 Load Dump文件。
::Update : 2008-11-26
::====================
SET VAR_IS_EMPTY_DIR=TRUE
dir /B /AD > DIRS
FOR /F %%i IN (DIRS) DO (
SET VAR_IS_EMPTY_DIR=FALSE
)
DEL /Q DUMP_FILES
IF "%VAR_IS_EMPTY_DIR%"=="FALSE" (
ECHO Error : Current directory is not empty.
GOTO :EOF
)
SET VAR_IS_EMPTY_DIR=
dir /B /A-D *.bin > DUMP_FILES
IF "%errorlevel%"=="0" (
ECHO Finded dump file.
) ELSE (
ECHO Error : Can not find dump file.
GOTO :EOF
)
FOR /F %%i IN (DUMP_FILES) DO (
SET REPOS_FILE=%%i
CALL :LOAD_REPOS
)
SET REPOS_FILE=
DEL /Q DUMP_FILES
ECHO Successed.
GOTO :EOF
::==== Functions ====
:LOAD_REPOS
SET REPOS_NAME=%REPOS_FILE:~0,-4%
mkdir %REPOS_NAME%
ECHO Loading repository ^"%REPOS_NAME%^" ...
svnadmin create %REPOS_NAME%
svnadmin load -q %cd%\%REPOS_NAME% < %REPOS_FILE%
IF %errorlevel%==0 (
ECHO %DUMP_FILE% >> DUMP_FILES
) ELSE (
RMDIR /Q %REPOS_NAME%
ECHO Load ^"%REPOS_NAME%^" failed.
)
SET REPOS_NAME=
ECHO.
麻烦解决之,所以可以去娱乐了。
- SVN 简单备份与还原
- SVN备份与还原
- SVN备份与还原
- SVN代码管理 备份与还原
- Windows下的SVN备份与还原
- SVN全量备份与还原
- SVN——备份与还原
- svn备份和还原
- svn备份还原办法
- svn 备份 还原 移植
- SVN备份还原
- mysql最简单的备份与还原
- 简单的ORACLE数据库备份与还原
- MySql数据库备份与还原简单实例
- 服务器上的Svn 版本库备份与还原
- svn的备份与还原怎么用脚本实现svn备份(linux/windows)(转载)
- 【转载】SVN备份和还原
- Visual SVN备份和还原
- 11.10开机卡在Checking Battery State
- svn备份和还原
- MIT牛人解说数学体系与数学家石根华的41年传奇(转)
- java初学之运算符
- U-Boot Directory
- SVN 简单备份与还原
- 用败者树做的多路归并程序
- 拷贝构造函数及其参数类型
- Android-仿iPhone滚轮控件效果
- 特殊数据类型成员变量的初始化
- 跟我一起写 Makefile(一)
- bootloader的作用
- Oracle数据库开发(五).OCI开发示例
- Bada学习-(三十一)计划/设计你的应用