1. 程式人生 > >使用svnsync實時異地備份配置庫

使用svnsync實時異地備份配置庫

公司機房環境不穩定,領導要求做SVN的實時異地備份,以保證資料安全。備份伺服器非公司網路,可遠端訪問。

前提條件:

1. 備份伺服器需要安裝和主伺服器相同的環境。例如,主伺服器的環境為 Apache2.4.15 + SVN1.8.17,那麼從伺服器也需要設定相同的環境。

2. 主伺服器能夠通過HTTP遠端訪問備份伺服器的配置庫

首先搭建備份伺服器環境,以下步驟在備份伺服器(192.168.3.2)上執行

1. 安裝和配置Apache2.4.15,請參看http://blog.csdn.net/w171066/article/details/51093319  和 http://blog.csdn.net/w171066/article/details/51130324

2. 安裝SVN1.8.17,請參看http://blog.csdn.net/w171066/article/details/75019663

3. 新增同步使用者,此使用者用於讀寫備份後的配置庫

[[email protected] ~]# htpasswd -b /opt/svndata syncuser syncpass
Adding password for user syncuser

[[email protected] ~]# vi /opt/svndata/accessfile

[tools:/]
syncuser = rw

4.建立備份庫,建立並編輯pre-revprop-change 和start-commit  hook

[[email protected] svndata]$ svnadmin create tools

[[email protected] svndata]$ cd tools/hooks

[[email protected] svndata]$ vi pre-revprop-change

#!/bin/sh 
USER="$3"
# 限制只有syncuser使用者才能提交版本屬性修改到此版本庫
if [ "$USER" = "syncuser" ]; then exit 0; fi
echo "Only the syncuser user may change revision properties" >&2
exit 1

[[email protected] svndata]$ vi start-commit

#!/bin/sh 
USER="$2"

# 限制只用syncuser使用者才能提交版本修改到版本庫
if [ "$USER" = "syncuser" ]; then exit 0; fi

echo "Only the syncuser user may commit new revisions" >&2
exit 1
[[email protected] svndata]$chmod 775 start_commit pre-revprop-change

回到主伺服器,以下步驟在主伺服器上進行

在主伺服器上必須能夠通過http訪問備份庫.(可能需要關閉備份伺服器上的防火牆或者開放相應埠)

1.初始化備份庫

[[email protected] ~]$ svnsync init http://192.168.3.2:8000/opt/svndata/tools  file:///opt/svndata/tools --username syncuser --password syncpass
Copied properties for revision 0.

2.同步備份庫

[[email protected] ~]# svnsync sync http://192.168.3.2:8000/opt/svndata/tools  --username syncuser --password syncpass

這個步驟用時很長。執行完這步,配置庫就同步過去了。

3.修改post-commit  hook, 以便每次執行完commit動作,都把修改同步到備份庫

[[email protected] ~]$ vi tools/hook/post-commit

#!/bin/sh 
/bin/svnsync synchronize --non-interactive http://192.168.3.2:8000/opt/svndata/tools --username syncuser --password
 syncpass
這樣,就配置完成了SVN庫的實時備份。

相關推薦

使用svnsync實時異地備份配置

公司機房環境不穩定,領導要求做SVN的實時異地備份,以保證資料安全。備份伺服器非公司網路,可遠端訪問。 前提條件: 1. 備份伺服器需要安裝和主伺服器相同的環境。例如,主伺服器的環境為 Apache2.4.15 + SVN1.8.17,那麼從伺服器也需要設定相同的環境。

svn(svnsync)實時同步備份及問題解答

公司有一臺svn伺服器,最近想用另一臺svn伺服器做個實時備份。從網上查了不少資料,也遇到過各種吐血的問題,在這裡記錄一下。 1.兩臺機器(一臺源庫,一臺目標備份庫)。 2.通過目標機器上的VisualSvnserver 上直接建立一個新的倉庫:test 3.然後在目標目錄

Rsync遠程同步,實現下行 ,上行異地備份配置rsync+inotify實時備份

有變 變化 ESS 遠程 修改密碼 調整 queue 運行參數 ado rsync作為一款最常用的備份工具,是linux/unix系統默認安裝的基本組件之一。本次實驗環境:1)VMware Workstation虛擬機環境2)以CentOS7系統為實驗對象,一臺PC作為rs

mysql數據binlog日誌的異地備份

logs 缺點分析 一致性 獲取 lin 生產環境 exit i++ hostname MySQL數據庫的二進制日誌binlog記錄了對數據庫的全量DDL和DML操作,對數據庫的point to point災難恢復起著無法替代的關鍵作用。因此,基於此類考慮,需要對生

VisualSVN 3.* 配置主從實時同步備份

庫的根目錄在:D:\Repositories\ 主:10.133.92.77 從:10.133.94.34 1.在主建立庫"BI" URL:http://10.133.92.77/svn/BI/ 2.在主建立同步使用者 user:svn-back password:1

mysql備份每個下面每個表

mysql備份每個庫下面每個表#!/bin/bash MYUSER="root" MYPASS="123456" HOST="localhost" BACKUPDIR="/backup_mysql" DATE=`date -I` RETENTION=20 #MYSQLDATA="/var/lib

SQL Server異地數據每日同步作業操作步驟

圖1 bsp cnblogs 分享 9.png 數據庫 兩個 作業 tex 實現服務器A數據庫DBName和服務器B數據庫DBName數據庫數據的實時同步。此作業的前提條件為兩個服務器的數據庫同步表結構必須完全一致。 1)發布服務器端: 圖1 圖2 圖3 圖

commvault文件異地備份故障

commvault copy 今天進CV平臺,看下備份情況,發現月度文件備份失敗郁悶,檢查備份策略計劃,對拷貝策略計劃仔細看了下,發現與其它的策略計劃有個差別,修改後重新運行備份作業,正常本文出自 “可韻之家-心夢無影” 博客,請務必保留此出處http://heliy.blog.51cto.com/4

SVN完全備份,增量備份同步

技術分享 實時備份 提示 機制 ima 例如 project 新版本 you svn備份一般采用三種方式:1)svnadmin dump 2)svnadmin hotcopy 3)svnsync. 優缺點分析: ============== 第一種svnadmin

思科交換機(archive)定時自動備份配置文件到tftp服務器

pat arc tft fig 服務器 自動 思科 配置文件 分鐘 R#conf tR(config)#archiveR(config-archive)#path tftp://ip/$h- //$h為當前主機名R(config-archive)#time-period

05: 實時增量備份 、 XtraBackup 備份 、 總結和答疑 、 MySQL 主從同步

lte per xtra 使用 pos posit 完全備份 一次 信息 day05 增量備份一、啟用binlog日誌 實現 實時增量備份二、使用第3方軟件提供的命令做增量備份 +++++++++++++++++++++++++++++++++一、啟用binlog日誌 實

實時同步備份的部署

後臺 eat jobs 監聽 狀態 備份服務器 格式 themes 服務 第1章 企業實時同步備份服務部署-inotify1.1 inotify是什麽?inotify是一種強大的,細粒度的.異步文件系統監控機制,通過inotify可以監控文件系統中添加/刪除/修改/移動等各

ftp異地備份

聲明 文件上傳 %d 主機 服務器ip -i ftp服務 信息 顯示 需求:將數據備份的文件上傳到ftp所在服務器ftp服務器IP地址:192.168.5.5ftp服務器賬戶/密碼:jie/jd!2016 1、在數據庫所在服務器上創建ftp.sh腳本 #vi /home/h

Sersync+rsync文件實時同步操作配置

Sersync rsync 1、 先安裝好rsyncd服務端,並配置可以從客戶端將數據同步到服務端,也可以將服務端的數據拉取到本地Rsync服務端配置如下:1.1、創建rsyncd.conf配置文件Vim /etc/rsyncd.conf 配置信息如下#Rsync server##rsyncd.c

VS15 openGL 編程指南 配置 triangle例子

技術 創建 location OS pos 設置 如果 log out 最近去圖書館借了一本書《OpenGL編程指南(原書第八版)》,今天倒騰了一天才把第一個例子運行出來。 所以,給大家分享一下,希望能快速解決配置問題。 一、下載需要的庫文件 首先,我們需要去該書的網站

Linux 定時備份oracle的數據

腳本 變量 style 數據 sar dmp ble %d nbsp 思路:1.使用crontab來實現定時任務2.用shell腳本來執行exp備份指令 ************************************** 配置好crontabcrontab -e

MySQL主從備份配置實例

reat 變化 出現問題 二進制日誌 my.cnf配置 counter 文件名 alter 特定 場景: 1、主服務器192.168.0.225、從服務器192.168.0.226。其中,主服務器上已有數據。 2、主從服務器上的mysql版本及安裝配置相同。 一

ASA 用TFTP 備份配置方法

back 備份 恢復出廠配置 文件名 網線 AS 菜單 asa ftp 一種方法是用ASDM,在菜單樣哪項裏有一個backup,保存為一個壓縮文件rar,恢復也是用ASDM.另一種是用TFTP SERVER 來做,電腦用網線接上ASA,還要把cisco TFTP SERVE

sersync 配合rsync實時同步備份

sersync 同步 增量 rsync title: sersync 配合rsync實時同步備份tags: sersync,rsync,同步grammar_cjkRuby: true sersync 配合rsync實時同步備份 1. sersync 介紹 sersync是基於Inotify開

sersync+rsync實現實時同步備份

sersync+rsync實現實時同步備第一個裏程:下載安裝sersync軟件 先進行軟件下載,把軟件包上傳到系統中 unzip sersync_installdir_64bit.zip cd sersync_installdir_64bit mv sersync /usr/local/ tree 第二個裏