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.
分享到:
相关推荐
用于svn同步备份,包括完全备份及增加备份日志
实现SVN的代码的同步备份,提交代码时,备份机同步更新。
SVN_自动同步备份环境搭建笔记
linux下 svn备份与同步
版本控制最关键的一件事是保证数据的安全性,不能因为磁盘损坏,程序故障造成版本库无可挽回的错误,为此必须制定较完备的备份策略。在Subversion中,我们有三种备份方式:完全备份,增量备份和同步版本库。
Linux系统,使用SVN自带svnsync进行异地同步增量备份
在/svn下面创建脚本svnsync.sh crontab格式说明: 分 时 日 月 星期 用户 执行命令 5 * * * * ls ——指定每小时的第5分钟执行一次ls命令 30 5 * * * ls ——指定每天的 5:30 执行ls命令 30 7 8 * * ls ——指定每...
SVN自动同步备份环境搭建笔记.pdf
SVN自动同步备份环境搭建笔记[整理].pdf
svn主从备份方便两个主机或者一个本地和远程之间备份提交的版本数据,实现双备份数据不易丢失。
svn备份后一键往ftp转移脚本,请各位自己对号入座
svn 备份 可以和hook脚本结合,每有更新就可以同步到备份服务器中
2. 通过定时执行脚本,把源SVN服务器的新增提交同步到备份服务器 备份服务器拥有与源服务器完全一样的仓库、代码结构、提交历史,当生产服务器数据损坏时,可以通过复制仓库目录的方式恢复源服务器中数据,也可以...
利用svnsync同步SVN版本库,将之前主库上的SVN数据迁移到VisualSVN上,然后在实现版本库的远程自动备份,版本库备份到另一台机器上。
2个镜像服务器,一主一从,可以实时定时同步版本库。一台服务器宕机时可以迅速切换到另一台。有配置说明有配置说明有配置说明
SVN主从同步配置文档,SVN双机备份。
1、 在192.16.21.70上面配置SVN服务器(简称服务器A); 2、 定时将服务器A上面的程序自动备份到192.16.21.82服务器上(该服务器简称服务器B); 3、 服务器工具软件采用“VisualSVN Server Manager VisualSVN Ltd. ...
TortoiseSVN 1.6 作为SVN常用的客户端,在对SVN库进行同步操作时,会在本地的每个文件夹下建一个.svn目录 当该文件夹整个打包发送给别人或备份时,这些.svn作为冗余且不安全的内容一起打包,这个很是不爽! ...
mysql数据库windows下mysql主从同步备份步骤 haha_yong2人评论2507人阅读2010-04-29 11:13:54 windows下mysql主从同步备份步骤 A:主服务器 IP地址:192.168.1.124 B:从服务器 IP地址:192.168.1.125 前提:设置...
SVN 可以让不同的开发者存取相同档案,并且利用SVN Server 作为档案同步的机制。也就是说,您有档案更新时,无需将档案寄给您的开发成员,只需要告诉他新的技术已经在SVN Server上面,请他自己去SVN Server上面就...