• <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>
  • Visual SVN備份和還原

    上一篇 / 下一篇  2010-04-14 21:01:13 / 個人分類:SVNの関連

    Visual SVN備份和還原:

            今天安裝了SVN,并使用SVN來進行了代碼及測試文檔的管理操作,可是不知道如何在服務器上備份數據,回到家趕緊網上搜索,請教高人,終于找到想要的東西,先COPY過來再說。

    -------------------------------------------------------------------------------------------------------

    -------------------------------------------------------------------------------------------------------

    Visual SVN備份和還原

    除去最常用的update,checkout, commit等操作, 最常見的就是對svn版本庫的備份和還原。

     備份策略

    svn備份一般采用三種方式:
    1
    svnadmin dump
    2)svnadmin hotcopy
    3)svnsync.

    注意,svn備份不宜采用普通的文件拷貝方式(除非你備份的時候將庫暫停),如copy命令、rsync命令。
    筆者曾經用 rsync命令來做增量和全量備份,在季度備份檢查審計中,發現備份出來的庫大部分都不可用,因此最好是用svn本身提供的功能來進行備份。

    優缺點分析:
    ==============
    第一種svnadmin dump是官方推薦的備份方式,優點是比較靈活,可以全量備份也可以增量備份,并提供了版本恢復機制。
    缺點是:如果版本比較大,如版本數增長到數萬、數十萬,那么dump的過程將非常慢;備份耗時,恢復更耗時;不利于快速進行災難恢復。
    個人建議在版本數比較小的情況下使用這種備份方式。
    第二種svnadmin hotcopy原設計目的估計不是用來備份的,只能進行全量拷貝,不能進行增量備份;
    優點是:備份過程較快,災難恢復也很快;如果備份機上已經搭建了svn服務,甚至不需要恢復,只需要進行簡單配置即可切換到備份庫上工作。
    缺點是:比較耗費硬盤,需要有較大的硬盤支持(俺的備份機有1TB空間,呵呵)。
    第三種svnsync實際上是制作2個鏡像庫,當一個壞了的時候,可以迅速切換到另一個。不過,必須svn1.4版本以上才支持這個功能。
    優點是:當制作成2個鏡像庫的時候起到雙機實時備份的作用;
    缺點是:當作為2個鏡像庫使用時,沒辦法做到想完全拋棄今天的修改恢復到昨晚的樣子;而當作為普通備份機制每日備份時,操作又較前2種方法麻煩。

     

    備份的命令 寫道


    全備份:使用svnadmin dumpsvnadmin hotcopysvnsync來做,
    hotcopy

    svnadmin hotcopy path/to/repository path/to/backup –clean-logs
    dump:
    svnadmin dump
    版本庫路徑及名稱 –revision 導出的版本號> 導出的命名

    增量備份:使用svnadmin dump–incremental選項來實現
    svnadmin dump
    版本庫路徑及名稱 –revision 上次導出的版本號:到本次要導出到的版本號 –incremental > 導出的命名

    一個技巧:如果你有一個較大的Subsersion版本庫而你又想用最少的空間來將它備份下來,用這個命令(請將/repo替換成你的版本庫路徑)吧:
    svnadmin dump –deltas /repo |bzip2 |tee dump.bz2 | md5sum >dump.md5
    分步解釋:最重要的一步是 -deltas,將消耗更多的CPU資源,但擁有更有效的差異存儲辦法。
    bzip2
    壓縮方案比gzip慢,但換來的更好的壓縮率。
    更有趣的是,tee方法將壓縮的數據流轉向到文件dump.bz2,同時將其輸出到標準輸出,后者有轉向給了MD5摘要計算工具。

     

    還原命令 寫道

    還原版本: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...

    TAG: SVN visual Visual

     

    評分:0

    我來說兩句

    顯示全部

    :loveliness: :handshake :victory: :funk: :time: :kiss: :call: :hug: :lol :'( :Q :L ;P :$ :P :o :@ :D :( :)

    日歷

    « 2011-06-14  
       1234
    567891011
    12131415161718
    19202122232425
    2627282930  

    數據統計

    • 訪問量: 998
    • 日志數: 7
    • 建立時間: 2010-04-13
    • 更新時間: 2010-05-09

    RSS訂閱

    Open Toolbar
    老湿亚洲永久精品ww47香蕉图片_日韩欧美中文字幕北美法律_国产AV永久无码天堂影院_久久婷婷综合色丁香五月

  • <ruby id="5koa6"></ruby>
    <ruby id="5koa6"><option id="5koa6"><thead id="5koa6"></thead></option></ruby>

    <progress id="5koa6"></progress>

  • <strong id="5koa6"></strong>