svn同步备份

svn服务器ip地址10.200.144.250 svn备份服务器ip地址10.200.144.251

1. 在备份服务器上创建svn仓库 

svnadmin create D:\ur_backup\ur

2. 在svn备份服务器hooks目录下新建文件pre-revprop-change.bat,打开pre-revprop-change.bat写入

exit 0;

  保存。

3. 在svn服务器hooks目录下新建文件post-commit.bat,打开post-commit.bat写入

svnsync sync --non-interactive svn://10.200.144.251/ --username admin --password admin

 4.同步初期化,在备份服务器运行下面的命令

svnsync init svn://10.200.144.251 svn://10.200.144.250

  会要求输入用户名密码,填入备份svn的用户名和密码。

5.同步版本库,在备份服务器运行下面的命令

svnsync sync svn://10.200.144.251/ --username admin --password admin

 

注意事项:不能在备份服务器进行提交操作。

 

打包备份

 

 dumpall.bat备份,打包用到了window自带的zip命令,找不到zip命令的话,到 http://www.johntdow.com/download/zipunzip.exe下载解压到c:/windows/system32目录下
@ECHO OFF
SET DUMPTO_DIR="."
if not "%1" == "" (
echo Back up all to %1
SET DUMPTO_DIR=%1
)

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.
IF EXIST %DUMPTO_DIR%\Repos_%VAR_DATE%.zip (
echo Delete existing compressed dump file
del %DUMPTO_DIR%\Repos_%VAR_DATE%.zip
)
ECHO Compressing dump files...
zip -j %DUMPTO_DIR%\Repos_%VAR_DATE%.zip %DUMPTO_DIR%\*.bin

ECHO Delete dump files...
FOR /F %%i IN (DUMP_FILES) DO (
DEL /Q %DUMPTO_DIR%\%%i
)

DEL /Q DIRS
DEL /Q DUMP_FILES
SET DUMPTO_DIR=

ECHO Successed.
GOTO :EOF

::==== Functions ====
:DUMP_REPOS
SET DUMP_FILE=%REPOS_NAME%.bin
ECHO Dumping repository ^"%REPOS_NAME%^" ...
svnadmin dump ^"%REPOS_NAME%^" -q > %DUMPTO_DIR%/%DUMP_FILE%
IF %errorlevel%==0 (
ECHO %DUMP_FILE% >> DUMP_FILES
) ELSE (
DEL /Q %DUMP_FILE%
ECHO Dump ^"%REPOS_NAME%^" failed.
)
SET DUMP_FILE=

ECHO.

 

 loadall.bat,解压zip文件后才能还原

SET VAR_IS_EMPTY_DIR=TRUE

SET LOAD_DIR=".";
IF NOT "%1"=="" (
SET LOAD_DIR=%1
)

echo %LOAD_DIR%

SET VAR_IS_EMPTY_DIR=
dir /B /A-D %LOAD_DIR%\*.bin > DUMP_FILES
IF "%errorlevel%"=="0" (
ECHO Finded dump file.
) ELSE (
ECHO Error : Can not find dump file.
DEL DUMP_FILES
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 %REPOS_NAME%
ECHO Loading repository ^"%REPOS_NAME%^" ...
svnadmin create %REPOS_NAME%
svnadmin load -q %cd%\%REPOS_NAME% < %LOAD_DIR%/%REPOS_FILE%
IF %errorlevel%==0 (
ECHO %DUMP_FILE% >> DUMP_FILES
) ELSE (
RMDIR /Q %REPOS_NAME%
ECHO Load ^"%REPOS_NAME%^" failed.
)
SET REPOS_NAME=
ECHO.

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值