參考:
以下指令碼可直接拿去用,待完善(刪除定時備份)
@echooff::
關閉回顯
::::
設定標題
title svnbackup
remset variable
::svn_home svn程式的安裝路徑,指定到bin目錄上一級。(如果路徑有空格,請用""。)
set svn_home="c:\program files\visualsvn server"
::svn庫的路徑
set svn_root=f:\repositories
::備份svn父目錄的路徑
set svn_backup_root=f:\svn_backup
::獲取當前系統日期和時間用來建立目錄,格式:年月日_時分秒毫秒。如:20131129_16275274
set time_dir=%date:~,4%%date:~5,2%%date:~8,2%%time:~,2%%time:~3,2%%time:~6,2%%time:~9,2%
::svn備份子目錄的路徑
set backup_directory=%svn_backup_root%\%time_dir%
::日誌檔案路徑(將日誌和備份檔案放在乙個目錄,刪除時一起刪除了)
set log=%backup_directory%\backup.log
::指定備份檔案刪除時間(單位:天)。0 - 32768 範圍內的任何數字。
set num=365
remstart backup svn
::判斷svn程式是否存在
ifnot
exist %svn_home% goto
error
goto
start
:start
::查詢日誌大小(單位:位元組),超過1mb就新建乙個 (日誌放入備份目錄後,此語句無效。僅備份!)
::for /r %svn_backup_root% %%i in (backup.log) do if %%~zi geq 1048576 ren %log% backup_%time%.log
::判斷目錄是否存在,存在則不備份
ifexist %backup_directory% (
rembackup is exist
@echo %backup_directory% is exist. >>%log%
goto
end)
::新建目錄
mkdir
%backup_directory%
::建立日誌
@echo [info]%date:~,10% %time:~,2%:%time:~3,2%:%time:~6,2%create a backup directory: %backup_directory% >>%log%
::備份svn版本庫並輸出日誌到檔案
for /d %%i in (%svn_root%\*) do (
@echo
backup %%~ni repository,backup filename: %%~ni.dmp >>%log%
::完整備份(增量備份在dump後面新增引數 --incremental)
%svn_home%\bin\svnadmin dump %svn_root%\%%~ni >%backup_directory%\%%~ni.dmp 2>>%log%)::
輸出備份命令退出碼,用來判斷是否備份成功。成功的退出碼為0.
@echo [info]%date:~,10% %time:~,2%:%time:~3,2%:%time:~6,2%exit_code:%errorlevel%>>%log%
goto
end:end
::輸出一行空行分割日誌
remend backup svn
@echo success backup >>%log%
exit
::除錯指令碼用的命令
::at 16:06 %~f0
::pause
::exit
SVN定時備份bat指令碼
文章目錄 隱藏 echo off 關閉回顯 設定標題 rem 設定變數 set svn backup root d svnbackup 獲取當前系統日期和時間用來建立目錄,格式 年月日 時分秒毫秒。如 20131129 16275274 set time dir date 4 date 5,2 da...
svn備份指令碼
svn備份一般採用三種方式 1 svnadmin dump 2 svnadmin hotcopy 3 svnsync.注意,svn備份不宜採用普通的檔案拷貝方式 除非你備份的時候將庫暫停 如copy命令 rsync命令。筆者曾經用 rsync命令來做增量和全量備份,在季度備份檢查審計中,發現備份出來...
SVN備份指令碼
bin bash maxdays 7 備份保留最大天數 time date y m d h m s svnpath data1 svn ser 定義倉庫repos路徑 bakdir data1 svnback 定義備份主目錄 baksubdir 定義全備路徑 baklog log 定義備份日誌 d ...