@echo off
@echo ================================================
@echo 說明:啟動備份時,需要配置兩個環(huán)境變量
@echo 1、SVN_HOME 指定svn的安裝目錄
@echo 2、RAR_CMD 指定RAR命令行壓縮工具所在目錄
@echo 3、SVN_REPOROOT 指定項目庫的根目錄(多庫模式)
@echo 另外,如果需要異地備份,可以指定為網絡映射Z盤
@echo ================================================
rem set logfile=svndump.log
set SVN_HOME=C:\Progra~1\Subversion\bin
set SVN_ADMIN=%SVN_HOME%\svnadmin.exe
set SVN_LOOK=%SVN_HOME%\svnlook.exe
set SVN_REPOROOT=e:\svn\repository
set RAR_CMD="C:\Progra~1\WinRAR\Rar.exe"
rem if not exist z:\nul net use z: \\192.168.2.226\g$\svndump
rem 讀取項目庫列表文件,并忽略其中;開頭的行
FOR /f "eol=;" %%C IN (projectlist.conf) DO @call dump.bat %%C
@ECHO OFF
rem 調用格式:dump 項目庫名
if "%1"=="" goto no_args
set PROJECT=%1
if not exist %PROJECT% mkdir %PROJECT%
cd %PROJECT%
SET LOWER=0
SET UPPER=0
@FOR /f %%D IN (‘%SVN_LOOK% youngest %SVN_REPOROOT%\%PROJECT%‘) DO set UPPER=%%D
if %UPPER%==0 GOTO :N_EXIT
if not exist %PROJECT%_last_revision.txt GOTO :BAKUP
rem 取出上次備份后的版本號,并做+1處理(注意此算法未在98系統(tǒng)驗證)
@FOR /f %%C IN (%PROJECT%_last_revision.txt) DO @set LOWER=%%C
@set /a LOWER=%LOWER%+1
rem 不需要備份,則跳轉結束
IF %LOWER% gtr %UPPER% GOTO :N_EXIT
:BAKUP
SET FILENAME=%PROJECT%_%LOWER%_%UPPER%
@ECHO 開始備份項目庫:%PROJECT%,生成文件=%FILENAME%
%SVN_ADMIN% dump %SVN_REPOROOT%\%PROJECT% -r %LOWER%:head --incremental >%FILENAME%.dmp
%RAR_CMD% a -df %PROJECT%_%UPPER%.rar %FILENAME%.dmp
rem 準備寫備份日志信息
IF %LOWER% gtr 0 GOTO :WRITENOTE
if not exist %PROJECT%_log.txt @copy ..\log.conf %PROJECT%_log.txt
@ECHO %date% >> %PROJECT%_log.txt
@echo -- 添加備份文件 %PROJECT%_%UPPER%.rar,從[%LOWER%]到[%UPPER%] >> %PROJECT%_log.txt
GOTO :COMPLETE
:WRITENOTE
@ECHO %date% >> %PROJECT%_log.txt
@echo -- 添加增量備份文件 %PROJECT%_%UPPER%.rar,從[%LOWER%]到[%UPPER%] >> %PROJECT%_log.txt
:COMPLETE
rem 下面一行用于拷貝備份文件到映射的驅動器上
rem copy %PROJECT%.rar z:\%PROJECT%\
@echo %UPPER% > %PROJECT%_last_revision.txt
:N_EXIT
@echo 項目庫%PROJECT%處理結束...
@CD..
@exit /B
:no_args
@ECHO ON
@echo "正確調用方法: dump 項目庫名"
;**************************************************
;01. 公共資源庫
; 更新頻率: 低
;**************************************************
comm
;**************************************************
;02. 造價中心WEB應用系統(tǒng)(含人員資質和造價分析)
; 更新頻率: 一般
;**************************************************
dezxweb
;**************************************************
;03. 造價中心地面工程臺帳查詢系統(tǒng)
; 更新頻率: 終止
;**************************************************
;dmgc
;**************************************************
;04. 井下作業(yè)綜合管理系統(tǒng)
; 更新頻率: 一般
;**************************************************
jxzy
;**************************************************
;05. ERP用戶權限系統(tǒng)
; 更新頻率: 低
;**************************************************
erpuser
備份日志:
//這是一個日志文件的抬頭信息,可以記錄一些有意義的信息
備份日志:
星期一 2007-02-12
-- 添加備份文件 dezxweb_794.rar,從[0]到[794]
星期三 2007-02-28
-- 添加增量備份文件 dezxweb_807.rar,從[795]到[807]
星期日 2007-03-04
-- 添加增量備份文件 dezxweb_808.rar,從[808]到[808]
星期日 2007-03-11
-- 添加增量備份文件 dezxweb_809.rar,從[809]到[809]