全量備份:
[color=darkblue]svnadmin dump e:\repositories\document_tec>c:\svn_bankup\document_tec.backup[/color]
全量還原:
[color=darkblue]
svnadmin create e:\repositories\document_tec
svnadmin load -q e:\repositories\document_tec 匯出的命名
svnadmin dump –deltas /repo |bzip2 |tee dump.bz2 | md5sum >dump.md5
bzip2壓縮方案比gzip慢,但換來的更好的壓縮率。
更有趣的是,tee方法將壓縮的資料流轉向到檔案dump.bz2,同時將其輸出到標準輸出,後者有轉向給了md5摘要計算工具。
[b]還原命令 寫道[/b]
還原版本:svnadmin load 要恢復的版本庫路徑及名稱 < 匯出的命名
svnadmin hotcopy path/to/repository path/to/backup –clean-logs
我的svn是搭建在windows上的,用visual svn挺方便, 參考網上的bat備份svn的命令,我寫了乙個備份和還原全部版本庫的bat指令碼,
備份,需要把指令碼放在版本庫根目錄下執行,例如dumpall.bat, 不指定引數則備份到當前目錄下,否則備份到指定目錄:
bat** 收藏**
@echo off
set dumpto_dir="."
if not "%1" == "" (
echo back up all to %1
set dumpto_dir=%1
) set var_date=%date:~0,4%%date:~5,2%%date:~8,2%
dir /b /ad > dirs
if exist dump_files (
del /q dump_files
) for /f %%i in (dirs) do (
set repos_name=%%i
call :dump_repos
) set repos_name=
echo.
if exist %dumpto_dir%\repos_%var_date%.zip (
echo delete existing compressed dump file
del %dumpto_dir%\repos_%var_date%.zip
) echo compressing dump files...
zip -j %dumpto_dir%\repos_%var_date%.zip %dumpto_dir%\*.bin
echo delete dump files...
for /f %%i in (dump_files) do (
del /q %dumpto_dir%\%%i
) del /q dirs
del /q dump_files
set dumpto_dir=
echo successed.
goto :eof
::==== functions ====
:dump_repos
set dump_file=%repos_name%.bin
echo dumping repository ^"%repos_name%^" ...
svnadmin dump ^"%repos_name%^" -q > %dumpto_dir%/%dump_file%
if %errorlevel%==0 (
echo %dump_file% >> dump_files
) else (
del /q %dump_file%
echo dump ^"%repos_name%^" failed.
) set dump_file=
echo.
還原:cd到備份目錄,再執行,例如loadall.bat, 如果不指定引數,則認為當前目錄就是備份的目錄,否則從指定目錄進行還原。另外, 如果是備份到了壓縮包,需要先解壓。
bat** 收藏**
set var_is_empty_dir=true
set load_dir=".";
if not "%1"=="" (
set load_dir=%1
) echo %load_dir%
set var_is_empty_dir=
dir /b /a-d %load_dir%\*.bin > dump_files
if "%errorlevel%"=="0" (
echo finded dump file.
) else (
echo error : can not find dump file.
del dump_files
goto :eof
) for /f %%i in (dump_files) do (
set repos_file=%%i
call :load_repos
) set repos_file=
del /q dump_files
echo successed.
goto :eof
::==== functions ====
:load_repos
set repos_name=%repos_file:~0,-4%
mkdir %repos_name%
echo %repos_name%
echo loading repository ^"%repos_name%^" ...
svnadmin create %repos_name%
svnadmin load -q %cd%\%repos_name% < %load_dir%/%repos_file%
if %errorlevel%==0 (
echo %dump_file% >> dump_files
) else (
rmdir /q %repos_name%
echo load ^"%repos_name%^" failed.
) set repos_name=
echo.
再配合一下計畫任務, 就可以實現定時備份了。
svn備份和還原
url 除去最常用的update,checkout,commit等操作,最常見的就是對svn版本庫的備份和還原。備份策略 svn備份一般採用三種方式 1 svnadmin dump 2 svnadmin hotcopy 3 svnsync.注意,svn備份不宜採用普通的檔案拷貝方式 除非你備份的時候...
svn備份還原
備份svn庫。將svn庫備份匯出到c svnbak,生成dump檔案。在cmd命令列裡輸入 svnadmin dump c svnroot repos1 c svnbak repos1.dump 匯入備份庫到新的svn庫下。匯入備份庫到新的svn庫下時,一定要新建庫!1,在svnroot目錄下新建空...
SVN備份還原
本文是對svn備份還原的乙個簡單記錄 千萬不能用visualsvn server powershell,否則在還原load的時候會發生錯誤e140001,具體參考 進入命令列 cd c program files visualsvn server bin svn的安裝目錄 檢視最新版本 svnloo...