Subversion庫遷移及備份方案

2022-03-28 13:56:27 字數 3627 閱讀 7218

**:

在做遷移操作前,請停止對svn進行提交操作。

1. 遷移方案(採用dump -load方案):

源svn伺服器:192.168.1.200,windows伺服器

目標svn伺服器:192.168.1.201,windows伺服器。採用collabnet subversion server,假定subversion安裝在d:\program files\collabnet subversion server上,svn的repository為d:\subversion\svnbackup

也即windows服務中,可執行檔案的路徑為:

「d:\program files\collabnet subversion server\svnserve.exe」 –service -r 「d:\subversion\svnbackup」 –listen-port 「3690″

由於目前在subversion伺服器上實際上只有svn:目錄下才有內容,因此只需要遷移svn:下的內容,步驟如下:

1、 在源伺服器192.168.1.200上執行dump操作

注意此處實際上把repository中所有的目錄都備份了,需要在load時候採用svndumpfilter命令過濾需要的目錄。

svnadmin dump d:\subversion\svnworkspace\bak >svn_all_20080520.dump

2、 在192.168.1.201上建立svnbackup repository

svnadmin create d:\subversion\svnbackup

4、 將dump檔案拷貝到上並執行load操作

cat svn_all_20080520.dump | svndumpfilter --include:rd >svn_rd_20080520.dump
5、 執行svnadmin load

svnadmin load d:\subversion\svnbackup < svn_rd_20080520.dump
6、 在192.168.1.201上配置svnserve.conf、passwd、authz檔案

2. 遷移方案(採用svnsync方案)

從subversion 1.4.4開始,提供了svnsync命令,可用於subversion的庫遷移和備份,這裡我們用於備份操作的初始化同步。

假定從源伺服器192.168.1.201備份到192.168.1.88

svn伺服器:192.168.1.201,windows伺服器,採用collabnet subversion server,假定subversion安裝在d:\program files\collabnet subversion server上,svn的repository為d:\subversion\svnbackup。

備份伺服器: 192.168.1.88,redhat as 4伺服器

採用svnsync進行資料遷移,方法如下:

1、 在備份伺服器192.168.1.88上建立源伺服器192.168.1.201上對應的備份庫目錄

mkdir /opt/subversion

svnadmin create  /opt/subversion/svnbackup

2、在備份伺服器192.168.1.88上啟用鉤子檔案

cd  /opt/subversion/svnbackup/hooks

echo 「#!/bin/sh」> pre-revprop-change

chmod 755 pre-revprop-change

3、在備份伺服器192.168.1.88上執行svnsync init命令

svnsync init   svn: –username username –password password

注意,svnsync的語法為:svnsync init dest source

4、在備份伺服器192.168.1.88上執行同步操作

svnsync sync

由於svnsyc只能同步整個svn庫,並不能同步指定的專案,因此建議遷移時候使用dump-load方案,備份時候採用svnsync方案

3. 備份方案:

為保證svn伺服器的安全,由指令碼每天定時對svn庫進行備份,以保證svn庫的安全性。備份仍然採用svnsync來完成。

1. 在192.168.1.88  上安裝subversion 伺服器端

2. 在192.168.1.88上建立備份使用者帳號svnsync,以供192.168.1.201能夠以此帳號實時把變更的同步到192.168.1.88上

配置檔案svnserve.conf

[general]

anon-access = none

auth-access = write

password-db = passwd

authz-db = authz

配置檔案passwd

svnsync=svnsync

配置檔案authz

[groups]

developer = svnsync

@developer=rw

3. 在備份機上開啟iptables的3690埠

4. 在備份機192.168.1.88上建立備份庫目錄

svnadmin create /opt/subversion/svnbackup

chown –r svnsync:svnsync  /opt/subversion/svnbackup

5. 按照上述採用svnsync方案的步驟,將庫同步到192.168.1.88上,初始化svn庫

cd  /opt/subversion/svnbackup/hooks

echo 「#!/bin/sh」> pre-revprop-change

chmod 755 pre-revprop-change

svnsync init   svn: –username username –password password

svnsync sync

6. 在源伺服器192.168.1.201上,建立鉤子檔案,保證192.168.1.201上的變動實時同步到192.168.1.88上:

post-commit

# propagate the data to the remote repository
d:\program files\collabnet subversion server\svnsync synchronize --username svnsync --password svnsync  svn:// 192.168.1.88
post-rev-changes
# propagating changes to the remote repository.
d:\program files\collabnet subversion server\bin\svnsync copy-revprops --username svnsync --password svnsync  svn:// 192.168.1.88 $rev

Oracle資料庫冷備遷移

資料庫伺服器 linux6.5 oracle11.2.0.4 單例項 資料庫的例項名 arorcl 目的 從192.168.20.27 資料庫例項遷移到192.168.20.16上 要求系統一樣,資料庫版本一樣 show parameter spfile show parameter control...

WordPress站點遷移及阿里雲空間備案

之前個人部落格站 it老五一直都執行在香港主機 tncportal 上,雖然便宜且執行速度 收錄都還可以,但是因為不能備案,且國內訪問速度還是比不上國內主機,恰巧看到最近阿里雲有活動,所以買了個阿里雲虛擬主機,將wp站點遷移回國內,並進行空間備案。具體空間備案大概是4個工作日左右,保護中間週末一起不...

oracle資料庫冷備遷移的步驟

oracle資料庫冷備遷移的步驟 冷備是一種常用的資料庫備份方式,它是在資料庫關閉的情況下利用作業系統的拷貝命令備份完整的資料庫檔案集。冷備能保證在備份的時間點上資料庫的完整性和一致性。假如開啟了歸檔模式,並且能保證在最後一次冷備後的所有歸檔日誌的完整性,那麼我們就能夠將資料庫恢復到冷備後的任何乙個...