1. 程式人生 > >CentOS下svn遷移備份的三種方法

CentOS下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 dump方式

SVN遷移需要做如下操作:
1. 將原來的Repository匯出為一個檔案dumpfile 。
#svnadmin dump 原先的repos的目錄路徑(/repository/directory) > dumpfile
#svnadmin dump /opt/svn/iitshare/ > /var/tmp/iitshare_20130626
2. 在另外一臺機器上配置同樣的SVN伺服器。
參考:linux SVN安裝及配置圖解教程
3. 將dumpfile匯入到新的repository 目錄中。
#svnadmin load 新建的repos的目錄路徑(/repository/directory) < dumpfile
#svnadmin load /opt/svn/iitshare/ < /var/tmp/iitshare_20130626
4. 將原先伺服器的配置檔案備份後複製到新伺服器中
#/opt/svn/iitshare/conf目錄下
authz、passwd、svnserve.conf檔案

svnadmin hotcopy方法

1. 備份
#svnadmin hotcopy /opt/svn/iitshare/ /var/tmp/iitshare_20130626 –clean-logs
如果你傳遞–clean-logs選項,svnadmin會執行熱拷貝操作,然後刪除不用的Berkeley DB日誌檔案。
你可以在任何時候執行這個命令得到一個版本庫的安全拷貝,不管其它程序是否使用這個版本庫。
2. 還原
#svnadmin hotcopy /var/tmp/iitshare_20130626 /opt/svn/iitshare/

轉載請註明源自:碼客園 -關注碼農創業,著力打造IT技術分享和資訊傳播平臺

相關推薦

CentOSsvn遷移備份方法

svn備份方式對比分析 一般採用三種方式: 1、svnadmin dump 2、svnadmin hotcopy 3)svnsync 注意,svn備份不宜採用普通的檔案拷貝方式(除非你備份的時候將庫暫停),如copy、rsync命令。 曾經用rsync命令來做增量和全量

CentOS安裝JDK的方法

symbols 打開 version aws sin javadoc 環境 amd64 home 由於各Linux開發廠商的不同,因此不同開發廠商的Linux版本操作細節也不一樣,今天就來說一下CentOS下JDK的安裝: 方法一:手動解壓JDK的壓縮包,然後設置環境變

ubuntu安裝程序的方法(轉)

安裝nagios -s 需要 ibm 查詢 gin make this www. 引言 在Ubuntu當中,安裝應用程序我所知道的有三種方法,分別是apt-get,dpkg安裝deb和make install安裝源碼包三種。下面針對每一種方法各舉例來說明。 一、apt-

Ubuntu安裝程式的方法 ubuntu製作本地源

在ubuntu當中,安裝應用程式我所知道的有三種方法,分別是apt-get,dpkg安裝deb和make install安裝原始碼包三種。下面針對每一種方法各舉例來說明。 apt-get方法 使用apt-get install來安裝應用程式算是最常見的一種安裝方法了,比如我要安裝build-essenti

CentOS上安裝Python3的方法

Centos7預設自帶了Python2.7版本,但是因為專案需要使用Python3.x你可以按照此文的三個方法進行安裝. 注:本文示例安裝版本為Python3.5, 一、Python原始碼編譯安裝 安裝必要工具 yum-utils ,它的功能是管理repository及擴充套件包的工具 (主要是針對re

ubuntu安裝程式的方法

引言 在ubuntu當中,安裝應用程式我所知道的有三種方法,分別是apt-get,dpkg安裝deb和make install安裝原始碼包三種。下面針對每一種方法各舉例來說明。 apt-get方法 使用apt-get install來安裝應用程式算是最常見的一種安裝方法

Linux 系統呼叫的方法

轉自:https://www.cnblogs.com/hazir/p/three_methods_of_syscall.html 系統呼叫(System Call)是作業系統為在使用者態執行的程序與硬體裝置(如CPU、磁碟、印表機等)進行互動提供的一組介面。當用戶程序需要

window安裝docker的方法

 方法3. Docker for Windows 系統要求:64bit Windows 10 Pro, with Enterprise and Education (1511 November update, Build 10586 or later),。 參考地

ubuntu安裝軟體的方法

今天晚上搗鼓ubuntu下軟體安裝,之前只是在終端敲一下簡單的命令和vim的使用 最近有需求需要通多ubuntu上安裝chrome,嘗試了幾種方法,現總結一下分享給大家,如果有錯誤的地方望給出評論,謝謝! 第一種就只直接搜尋並安裝: 在終端中輸入命令: 首先是搜尋源中有沒有

在Ubuntu修改PATH的方法

在 Ubuntu 系統中有兩種設定環境變數 PATH 的方法。第一種適用於為單一使用者設定 PATH,第二種是為全域性設定 PATH。第三種方法適合於暫時修改,重新登入後失效第一種方法:在使用者主目錄下有一個 .bashrc 檔案,可以在此檔案中加入 PATH 的設定如下:export PATH=”$PATH

CentOS 新增環境變數的方法

在 Linux CentOS 系統上安裝完 MATLAB 後,為了使用方便,需要將 matlab 命令加到系統命令中,如果在沒有新增到環境變數之前,執行“matlab”命令時,則會提示命令不存在的錯誤,如下所示: 下面我詳細介紹一下在 linux 下將 M

Ubuntu安裝GTK的方法

1 安裝命令: sudo apt-get install gnome-core-devel  sudo apt-get install libglib2.0-doc libgtk2.0-doc  sudo apt-get install devhelp  sudo apt

Linux svn遷移備份方法

svn備份方式對比分析 一般採用三種方式: 1、svnadmin dump 2、svnadmin hotcopy 3)svnsync 注意,svn備份不宜採用普通的檔案拷貝方式(除非你備份的時候將庫暫停),如copy、rsync命令。 曾經用rsync命令來做增量和全量備份

CentOSJDK的安裝在方法

CentOS下JDK的安裝: 方法一:手動解壓JDK的壓縮包,然後設定環境變數 1.在/usr/目錄下建立java目錄 [[email protected] ~]# mkdir/usr/java[[email protected] ~]# cd /usr/java 2.下

【Linux Is Not Unix】虛擬機器CentOS配置ip方法(1)-橋接模式(bridge)

  在bridged模式下,VMWare虛擬出來的作業系統就像是區域網中的一臺獨立的主機,它可以訪問網內任何一臺機器。在bridged模式下,你需要手工為虛擬系統配置IP地址、子網掩碼,而且還要和宿

方法在當前目錄打開cmd命令窗口

code 運行 star pos 也有 當前 最快 快捷鍵操作 post 概述 運行npm的時候,每次都要cd到目錄,很麻煩,所以總結了三種在當前目錄下直接打開cmd窗口的方法,供以後開發時參考,相信對其他人也有用。 方法一 在當前目錄按住shift再右鍵。 會看到右鍵菜

cmd命令提示符殺進程主要有方法

klist bsp term 任務管理 log https nbsp .exe ESS https://blog.csdn.net/sunboy2718/article/details/30056787 1、用taskkill命令 1.taskkill /im 進程

day039mysql多表查詢(方法)及備份,Navicat工具,pymysql的使用

本節內容: 1、MySQL之多表查詢 2、Navicat工具 3、mysql資料庫備份 4、pymysql模組 參考文章1參考文章2 一、MySQL之多表查詢

Linux安裝與解除安裝工具(方法

三種方法為:rpm工具、yum工具、原始碼包 rpm工具(操作繁瑣) 光碟機掛載到mnt:mount /dev/cdrom /mnt/centos安裝包中就有rpm包 Packages rpm -ivh rpm包檔案 //安裝rpm -Uvh rpm包檔案 //升級rpm -e 包名 //解除安裝(包名

Linux安裝與卸載工具(方法

ado 路徑 sha ins nag 查詢 linu ext 光驅掛載 三種方法為:rpm工具、yum工具、源碼包 rpm工具(操作繁瑣) 光驅掛載到mnt:mount /dev/cdrom /mnt/centos安裝包中就有rpm包 Packages rpm -ivh