svn同步备份

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.



  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值