自動(dòng)將F:\SVN下的所有的版本庫備份到F:\BAK目錄下,并用bzip2自動(dòng)壓縮。
可以通過計(jì)劃任務(wù)定期調(diào)用。
為了支持壓縮需要在SVN_BIN下方置 bzip2.exe,cygwin1.dll。
1、BACKUP.bat
@echo off
rem 設(shè)置SVN可執(zhí)行文件所在的目錄
set SVN_BIN=F:\svn-win32-1.4.0\bin
rem 設(shè)置SVN代碼庫所在的驅(qū)動(dòng)器盤符
set SVN_DRV=F:
rem 設(shè)置SVN代碼庫所在的目錄
set SVN_DIR=svn
rem 設(shè)置備份文件存貯的路徑
set SVN_BAK=F:\bak
rem 如果備份目錄不存在,則創(chuàng)建之
if not exist %SVN_BAK% md %SVN_BAK%
rem SVN代碼庫根目錄的完整路徑
set SVN_DB=%SVN_DRV%\%SVN_DIR%
%SVN_DRV%
cd \
cd %SVN_DIR%
echo 開始備份SVN代碼庫...
for /F %%d in ('dir /AD /B') do call %SVN_DB%\work.bat %%d
echo 備份SVN代碼庫完畢...
%SVN_DRV%
cd \
@echo on
2、WORK.bat
set SVN_SRC=%1
for /F "tokens=1,2,3 delims=- " %%1 in ('Date /T') do set DATE=%%1-%%2-%%3
for /F "tokens=1,2 delims=:" %%1 in ('time /T') do set TIME=%%1-%%2
if not exist %SVN_BAK%\%DATE% md %SVN_BAK%\%DATE%
set BAK_TO=%SVN_BAK%\%DATE%\%SVN_SRC%@%DATE%@%TIME%.svn
echo 開始將 %SVN_DB%\%SVN_SRC% 備份到 %BAK_TO% ...
%SVN_BIN%\svnadmin.exe dump %SVN_DB%\%SVN_SRC% >> %BAK_TO%
echo 開始?jí)嚎s %BAK_TO% ...
rem %SVN_BIN%\gzip -9 %BAK_TO%
%SVN_BIN%\bzip2 %BAK_TO%
echo 壓縮 %BAK_TO% 完畢
echo 將 %SVN_DB%\%SVN_SRC% 備份到 %BAK_TO% 完畢
set BAK_TO=
set SVN_SRC=
聯(lián)系客服