1.介紹遷移方式:
1.由於專案工作需要進行svn伺服器的遷移,對此簡要介紹svn伺服器的遷移方案。
2.主要遷移方式:
svnadmin dump
svnadmin hotcopy
svnsync
3.【svnadmin dump】是官方推薦的備份方式。
優點:比較靈活,可以全量備份也可以增量備份,並提供了版本恢復機制。
缺點:如果版本比較大,如版本數增長到數萬、數十萬,那麼dump的過程將非常慢;備份耗時,恢復更耗時;不利於快速進行災難恢復,建議在版本數比較小的情況下使用這種備份方式。
4.【svnadmin hotcopy】只能進行全量拷貝,不能進行增量備份;
優點:備份過程較快,災難恢復也很快;如果備份機上已經搭建了svn服務,甚至不需要恢復,只需要進行簡單配置即可切換到備份庫上工作。
缺點:比較耗費硬碟,需要有較大的硬碟支援。
5.【svnsync】直接同步源機器**庫,實際上是製作2個映象庫,當乙個壞了的時候,可以迅速切換到另乙個。
優點:當製作成2個映象庫的時候起到雙機實時備份的作用;
缺點:當作為2個映象庫使用時,沒辦法做到「想完全拋棄今天的修改恢復到昨晚的樣子」;而當作為普通備份機制每日備份時,操作又較前2種方法麻煩。
6.實際上在linux下將svn從一台源伺服器遷移到另一台目標伺服器的操作過程分2步:
1)安裝svn服務端:根據源伺服器的svn版本,在目標伺服器安裝同樣版本或者相近版本的svn;2.1安裝svn2)同步svn倉庫:同步源伺服器的svn**倉庫到目標伺服器上。
1.下面就先具體地介紹安裝配置svn服務端,待操作完這一步後續在待遷移目標伺服器上安裝配置svn服務端就比較方便順手了。
1.yum方式安裝或者原始碼編譯安裝svn服務端。這裡以yum方式安裝為例(假設當前在linux下已經切換至root使用者):view code$yum install subversion #即可安裝svn服務端
$svn help #檢視svn幫助手冊
$svn --version #檢視svn當前版本
2.建立svn倉庫目錄:
$mkdir -p /home/www/svn/web/$svnadmin create /home/www/svn/web/
3.經【上述第二步】後在/home/www/svn/web下會生成乙個svn的倉庫工作空間。使用以下檢視目錄樹:
$tree /home/www/svn/web
4.顯示的目錄樹類似以下結果:
[root@bogon web]# tree /home/www/svn/web
/home/www/svn/web
├── conf
│ ├── authz
│ ├── authz.bak
│ ├── passwd
│ ├── passwd.bak
│ ├── svnserve.conf
│ └── svnserve.conf.bak
├── db
│ ├── current
│ ├── format
│ ├── fsfs.conf
│ ├── fs-type
│ ├── min-unpacked-rev
│ ├── rep-cache.db
│ ├── revprops
│ │ └── 0│ │ ├── 0│ │ ├── 1│ │ └── 2│ ├── revs
│ │ └── 0│ │ ├── 0│ │ ├── 1│ │ └── 2│ ├── transactions
│ ├── txn-current
│ ├── txn-current-lock
│ ├── txn-protorevs
│ ├── uuid
│ └── write-lock
├── format
├── hooks
│ ├── post-commit.tmpl
│ ├── post-lock.tmpl
│ ├── post-revprop-change.tmpl
│ ├── post-unlock.tmpl
│ ├── pre-commit.tmpl
│ ├── pre-lock.tmpl
│ ├── pre-revprop-change.tmpl
│ ├── pre-unlock.tmpl
│ └── start-commit.tmpl
├── locks
│ ├── db.lock
│ └── db-logs.lock
└── readme.txt
10 directories, 35files
[root@bogon web]#
5./home/www/svn/web/conf下以.conf結尾的檔案:svn倉庫的配置。
conf
├── authz:許可權控制檔案
├── authz.bak
├── passwd:帳號密碼檔案
├── passwd.bak
├── svnserve.conf:svn服務配置檔案
└── svnserve.conf.bak
$vim /home/www/svn/web/conf/authz
[/] :倉庫下所有檔案/資料夾
yunwei=rw :【yunwei】使用者具有讀寫許可權
test=r :【test】使用者具有唯讀許可權
*=:除上述倆使用者外,其他使用者沒有任何許可權
7.編輯passwd賬號密碼:
$vim /home/www/svn/web/conf/passwd
[users]
yunwei=yunwei :使用者名稱=密碼
$vim /home/www/svn/web/conf/svnserve.conf
[general]
anon-access=none :匿名使用者沒有訪問許可權
password-db=passwd :密碼資訊的檔案路徑(路徑相對於本svnserve.conf而言)
authz-db=authz :訪問控制檔案資訊的檔案路徑(路徑相對於本svnserve.conf而言)
realm=/home/www/svn/web/:認證命名空間,svn會在認證提示裡顯示。
9.啟動svn服務端:
$svnserve -d -r /home/www/svn/web #-d:守護程序;-r:後台執行
10.檢視svn程序:
$ps -ef|grep svn
11.如果想要停掉svn服務,可以下面這樣子操作:
$killall svnserve
12.【windows客戶端tortoisesvn】連線svn服務端,進行檢出獲取倉庫資料:
#埠:預設3690
#這樣子一來就可以用來獲取這個svn服務端的倉庫資料。
2)輸入【使用者名稱,如:yunwei】,【密碼,如:yunwei】。即可檢出。
【確定】完即可。
2)linux下,對客戶端連線變更:
2.1)本地倉庫路徑:【/home/linux/downloads/svntestprojects/pro1dir/】。使用【$svn info】檢視連線資訊,結果類似如下(可看到源伺服器ip:10.80.80.238)
[root@localhost pro1dir]# svn info2.2)變更:path: .
working copy root path: /home/linux/downloads/svntestprojects/pro1dir
url: svn:
repository root: svn://
10.80.80.238
repository uuid: d40b338c-41be-439f-aade-8b6a1aebb690
revision: 2node kind: directory
schedule: normal
last changed author: yunwei
last changed rev: 2last changed date: 2019-01-07 15:11:39 +0800 (mon, 07 jan 2019)
$svn switch --relocate svn: svn:
#過程中輸入本地【root】密碼->輸入目標伺服器svn被授權的使用者名稱和密碼->進行驗證->驗證成功->接著連線到目標服務端svn即可。
$svn info
svn伺服器遷移 windows下
廢話不多說,直接上步驟 服務端 1.建立乙個備份檔案夾 如 d svn bak 2.進入cmd,cd命令到你的svn伺服器安裝目錄的bin檔案下,本人的安裝目錄在 d program files visualsvn server bin 則輸入 cd d program files visualsv...
SVN 伺服器遷移方法
svn專案,源伺服器 10.10.13.48 目標伺服器 10.10.13.129 要把svn專案從.48上遷移到.129上。做法 準備 版本庫 vos 源伺服器 10.10.13.48 源svn版本庫的path d svn vos 目標伺服器 10.10.13.129 遷移到的目標path e s...
Linux下搭建SVN伺服器
我們專案svn在linux系統下,而又是不可視的,所以通過winscp工具來操作,然後操作linux裡面檔案也是通過putty工具來執行一系列命令。這篇部落格是按著文件來做這個工作 以計量局專案為例 放在這裡分享給大家,也讓自己不斷學習。安裝前提 centos 7 可上網1 yum install ...