備份需要兩個文件backup.bat和simpleBackup.bat, 再把backup.bat添加到windows的 計劃任務(wù)里.
1. simpleBackup.bat 文件放在svn代碼庫在D:\Repositories(我的機子是這個目錄)
simpleBackup.bat:
@echo 正在備份版本庫%1......
@%SVN_HOME%bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%\%2
@echo 版本庫%1成功備份到了%2!
2.backup.bat這個文件隨便你放哪.(以下紅色的三個目錄設(shè)置設(shè)置一下就可以了)
backup.bat
echo off
rem Subversion的安裝目錄
set SVN_HOME="D:\Program Files\VisualSVN Server\"
rem 所有版本庫的父目錄
set SVN_ROOT=D:/Repositories
rem 備份的目錄
set BACKUP_SVN_ROOT=F:/svnbak
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%
rem 如果已經(jīng)存在當天的備份文件夾,就跳到下面的提示信息
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立備份目錄%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
mkdir "%BACKUP_DIRECTORY%"
rem 驗證目錄是否為版本庫,如果是則取出名稱備份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I/conf/svnserve.conf" %SVN_ROOT%/simpleBackup.bat "%%~fI" %%~nI
goto end
:checkBack
echo 備份目錄%BACKUP_DIRECTORY%已經(jīng)存在,請清空。
goto end
:end
3.backup 壓縮版
你的機器上要有7zip的命令行程序7z.exe,如果沒有,請去7zip官方網(wǎng)站下載,因為我們要用到這個程序來實現(xiàn)對備份后的版本庫進行壓縮保存
(7-Zip http://www.7-zip.org/download.html)
backup 7zip壓縮版.bat
echo off
rem Subversion的安裝目錄
set SVN_HOME="D:\Program Files\VisualSVN Server\"
rem 所有版本庫的父目錄
set SVN_ROOT=D:/Repositories
rem 備份的目錄
set BACKUP_SVN_ROOT=F:/SVNBackUp
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%
rem 如果已經(jīng)存在當天的備份文件夾,就跳到下面的提示信息
if exist %BACKUP_DIRECTORY% goto checkBack
echo 建立備份目錄%BACKUP_DIRECTORY%>>%SVN_ROOT%/backup.log
mkdir "%BACKUP_DIRECTORY%"
rem 驗證目錄是否為版本庫,如果是則取出名稱備份
for /r %SVN_ROOT% %%I in (.) do @if exist "%%I\conf\svnserve.conf" call %SVN_ROOT%\simpleBackup.bat "%%~fI" %%~nI
echo 開始壓縮版本庫,請不要中止....
%SVN_ROOT%\7zG.exe a -tzip %BACKUP_SVN_ROOT%\%date:~0,4%%date:~5,2%%date:~8,2%.zip %BACKUP_DIRECTORY%\* -r >nul
echo 版本庫壓縮完成!
rem 清除臨時創(chuàng)建備份目錄
rd/s/q "%BACKUP_DIRECTORY%"
goto end
:checkBack
echo 備份目錄%BACKUP_DIRECTORY%已經(jīng)存在,請清空。
goto end
:end
注意:執(zhí)行此計劃任務(wù)的windows用戶必須要設(shè)置密碼,否則此計劃任務(wù)不會執(zhí)行。