svn自動備份並上傳到ftp

1.創建bat文件 simpleBackup.bat,文件內容以下svn

@echo 正在備份版本庫%1......
@%SVN_HOME%bin\svnadmin hotcopy %1 %BACKUP_DIRECTORY%/%2
@echo 版本庫%1成功備份到了%2!spa

 

 

2.創建bat文件svn備份.bat,文件內容以下ip

@Echo Off
rem Subversion的安裝目錄
set SVN_HOME="C:\Program Files\VisualSVN Server\"

rem 全部版本庫的父目錄
set SVN_ROOT=E:/SvnServer

rem 備份的目錄
set BACKUP_SVN_ROOT=E:\SVNBackUp
set BACKUP_DIRECTORY=%BACKUP_SVN_ROOT%/%date:~0,10%

rem 若是已經存在當天的備份文件夾,就跳到下面的提示信息
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 版本庫壓縮完成!

goto end

:checkBack
echo 備份目錄%BACKUP_DIRECTORY%已經存在,請清空。
goto end
:end

echo open 10.11.109.246>abc.txt
echo user svnback svnback>>abc.txt
Echo binary>>abc.txt
Echo Cd ./homes/svnback/SVN-back/>>abc.txt
Echo put "%BACKUP_SVN_ROOT%\%date:~0,4%%date:~5,2%%date:~8,2%.zip">>abc.txt
echo bye>>abc.txt
ftp -n -s:abc.txt
del abc.txt

rem 清除臨時建立備份目錄
rd /s /q "%BACKUP_SVN_ROOT%"
rem Pause

rem

3.添加時間任務,簡單不贅述io

相關文章
相關標籤/搜索