我的svn备份脚本
我所有的项目都放在f:\svn_repo目录下,备份目录为svndump,下面的三个文件都放在该目录下
文件1 svndump.bat
@echo off
rem set logfile=svndump.log
set SVN_HOME=D:\YHCM\svn\bin
set SVN_ADMIN=D:\YHCM\svn\bin\svnadmin.exe
set SVN_LOOK=D:\YHCM\svn\bin\svnlook.exe
set SVN_REPO=f:\svn_repo
set RAR="C:\Program Files\WinRAR\Rar.exe"
@chcp 850
if not exist z:\nul net use z: \\192.168.2.226\g$\svndump
FOR /f %%C IN (projectlist.conf) DO @call dump.bat %%C
文件2 dump.bat
@ECHO OFF
if "%1"=="" goto no_args
set PROJECT=%1
if not exist %PROJECT% mkdir %PROJECT%
cd %PROJECT%
SET LOWER=0
if exist last_revision.txt FOR /f %%C IN (last_revision.txt) DO set LOWER=%%C
FOR /f %%D IN ('%SVN_LOOK% youngest %SVN_REPO%\%PROJECT%') DO set UPPER=%%D
IF %LOWER%==%UPPER% GOTO :N_EXIT
SET D=_
SET FILENAME=%PROJECT%%D%%LOWER%%D%%UPPER%
ECHO %FILENAME%
%SVN_ADMIN% dump %SVN_REPO%\%PROJECT% -r %LOWER%:head --incremental >%FILENAME%.dmp
%RAR% a -df %FILENAME%.rar %FILENAME%.dmp
copy %FILENAME%.rar z:\%PROJECT%\
@echo %UPPER% > last_revision.txt
:N_EXIT
@CD..
@exit /B
:no_args
@ECHO ON
@echo "please use dump project_name"
文件3 projectlist.conf,需要备份的清单,每个项目一行
test1
test2
presales
我最后把svndump.bat设为每天晚上12点自动运行,最后svndump目录内,每个项目会生成一个文件夹,里面的内容如下
2006-11-21 00:00 7 last_revision.txt
2006-10-11 17:01 172,322,257 presale_0_1038.rar
2006-10-11 17:01 44,534 presale_1038_1041.rar
2006-10-11 17:01 71,106 presale_1041_1049.rar
2006-10-11 17:01 30,979 presale_1049_1057.rar
2006-10-11 16:59 8,415 presale_1057_1058.rar
2006-10-11 16:59 41,255 presale_1058_1063.rar
2006-10-11 16:59 5,768 presale_1063_1064.rar
2006-09-29 00:00 10,268 presale_1064_1065.rar
2006-10-09 00:00 16,574 presale_1065_1068.rar
2006-10-10 00:04 23,291 presale_1068_1075.rar
2006-10-11 00:00 118,851 presale_1075_1080.rar
2006-10-12 00:00 57,249 presale_1080_1082.rar
2006-10-18 00:01 273,010 presale_1082_1086.rar
2006-10-19 00:00 11,062,588 presale_1086_1101.rar
2006-10-20 00:08 327,973 presale_1101_1103.rar
2006-10-21 00:00 692,018 presale_1103_1105.rar
2006-10-24 00:00 653,189 presale_1105_1112.rar
2006-10-25 00:00 659,009 presale_1112_1113.rar
2006-10-28 00:07 484,524 presale_1113_1116.rar
2006-10-31 00:00 50,011 presale_1116_1118.rar
2006-11-01 00:00 20,778 presale_1118_1119.rar
2006-11-02 00:00 11,006 presale_1119_1121.rar
2006-11-03 00:02 50,194 presale_1121_1127.rar
2006-11-07 00:02 392,659 presale_1127_1130.rar
2006-11-08 00:00 41,635 presale_1130_1131.rar
2006-11-10 00:00 23,159 presale_1131_1143.rar
2006-11-11 00:00 76,475 presale_1143_1149.rar
2006-11-14 00:00 54,993 presale_1149_1157.rar
2006-11-16 00:00 62,222 presale_1157_1164.rar
2006-11-18 00:00 91,973 presale_1164_1180.rar
2006-11-21 00:00 8,077 presale_1180_1181.rar
last_revision文件记录了上次备份到哪个版本。
搜索更多相关主题的帖子:
svn 脚本 svn 脚本