ice world

          There is nothing too difficult if you put your heart into it.
          posts - 104, comments - 103, trackbacks - 0, articles - 0

          SVN(Subversion)自動(dòng)同步備份配置

          Posted on 2014-01-23 11:08 IceWee 閱讀(656) 評論(0)  編輯  收藏 所屬分類: Others
          源機(jī)器:192.168.1.1
          備份機(jī)器:192.168.1.2

          前提條件:
          1、兩臺機(jī)器的網(wǎng)絡(luò)是連通的
          2、兩臺機(jī)器必須同時(shí)安裝了SVN服務(wù)器

          假設(shè):
          源機(jī)器上需要同步的庫名為autoSync,訪問地址為:svn://192.168.1.1/autoSync,對其具備讀寫權(quán)限的賬戶:sync/sync

          備份機(jī)器配置:
          1、創(chuàng)建與源機(jī)器庫名相同的空庫
          # 假設(shè)備份機(jī)器的SVN根目錄建立在 /home/backup/svn/repository下
          svnadmin create /home/backup/svn/repository/autoSync

          2、配置備份機(jī)器上的autoSync
          分別修改conf下的svnserve.conf、passwd、authz,根據(jù)實(shí)際情況配置,假設(shè)創(chuàng)建了用戶sync/sync,對庫autoSync具備讀寫權(quán)限,配置方法略,配置完成后啟動(dòng)SVN服務(wù)

          3、創(chuàng)建并修改pre-revprop-change文件
          cd /home/backup/svn/repository/autoSync/hooks
          cp pre
          -revprop-change.tmpl pre-revprop-change
          vi pre-revprop-change

          將文件末尾的“exit 1”改為“exit 0”即可,保存退出
          REPOS="$1"
          REV
          ="$2"
          USER
          ="$3"
          PROPNAME
          ="$4"
          ACTION
          ="$5"

          if
          [ "$ACTION" = "M" -a "$PROPNAME" = "svn:log" ]; then exit 0; fi

          echo
          "Changing revision properties other than svn:log is prohibited" >&2
          exit
          0

          增加可執(zhí)行權(quán)限
          chmod 755 pre-revprop-change

          4、初始化
          命令:
          svnsync init --username 用戶名 --password 密碼 備份機(jī)器庫URL 源機(jī)器庫URL

          說明:
          用戶名和密碼是對源機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶

          示例:
          svnsync init --username sync --password sync svn://192.168.1.2/autoSync svn://192.168.1.1/autoSync

          5、首次同步
          首次同步即為一次全備份過程,在此期間請停止客戶端段源機(jī)器哦一切操作(提交代碼等)
          命令:
          svnsync sync 備份機(jī)器庫URL
          示例:
          svnsync sync svn://192.168.1.2/autoSync

          源機(jī)器配置
          6、增量自動(dòng)同步配置
          創(chuàng)建并修改post-commit文件
          # 假設(shè)源機(jī)器的SVN根目錄建立在 /home/svn/repository下
          cd /home/svn/repository/autoSync/hooks
          cp post
          -commit.tmpl post-commit
          vi post
          -commit

          在文件末尾追加:svnsync sync --non-interactive 備份機(jī)器庫URL --username 用戶名 --password 密碼

          說明:
          用戶名和密碼是對備份機(jī)器SVN庫具備讀寫權(quán)限的SVN用戶

          示例:
          svnsync sync --non-interactive svn://192.168.1.2/autoSync --username sync --password sync

          7、術(shù)語
          配置完成,今后客戶端再向SVN(192.168.1.1)提交文件時(shí),會(huì)自動(dòng)觸發(fā)源機(jī)器(192.168.1.1)向備份機(jī)器(192.168.1.2)提交更新

          8、版本庫UUID一致性
          首先查看源機(jī)器庫的UUID,假設(shè)得到的是:fcdcbee9-6be3-4575-8d4a-681ec15ad8e0
          svnlook uuid svn://192.168.1.1/autoSync

          更新備份機(jī)器庫的UUID為源機(jī)器庫的UUID
          svnadmin setuuid svn://192.168.1.2/autoSync fcdcbee9-6be3-4575-8d4a-681ec15ad8e0




          主站蜘蛛池模板: 广州市| 天台县| 咸丰县| 铜梁县| 平南县| 神池县| 汝城县| 象州县| 蒙自县| 晋宁县| 元朗区| 汽车| 屯留县| 牙克石市| 如东县| 金坛市| 阿鲁科尔沁旗| 古交市| 体育| 共和县| 咸丰县| 龙岩市| 根河市| 安国市| 平昌县| 太湖县| 阿坝县| 通河县| 湘阴县| 手游| 密云县| 宁海县| 思南县| 滁州市| 洞口县| 舒兰市| 三门县| 衢州市| 尤溪县| 阳东县| 平顶山市|