1. 程式人生 > >Rsync 搭建遠程容災備份系統

Rsync 搭建遠程容災備份系統

並發 text 客戶 部分 centos 7 同步 unix系統 clu 遠程

rsync是什麽?

rsync是Linux/UNIX系統下的文件同步和數據傳輸工具,它采用了“rsync算法”使一個客戶機和遠程文件服務器之間的文件同步。可以將同一個服務器的數據從一個分區備份到另一個分區,也可以將本地系統的數據通過網絡傳輸方式備份到任何一個遠程主機上;rsync可以在中斷後恢復傳輸;rsync只傳輸源文件和目標文件之間不一致的部分;rsync可以執行完整備份或增量備份。

rsync的功能特性:

  • 可以鏡像保存整個目錄樹和文件系統;
  • 可以增量同步數據,文件傳輸效率高,因而同步時間很短;
  • 可以保持原文件的權限、時間等屬性;
  • 加密傳輸數據,保證了數據的安全性;
  • 可以使用rcp、ssh等方式來傳輸文件;
  • 支持匿名傳輸;

搭建遠程容災備份系統

需求描述: 要求對Web服務器網站數據每分鐘進行一次備份數據到遠程的容災服務器上,由於數據量很大,采用增量備份方式。

系統環境:

主機 操作系統 IP地址 備份目錄 軟件包
web服務器 CentOS 7.0 x86_64 192.168.100.27 /www rsync-3.1.3.tar.gz
容災服務器 CentOS 7.0 x86_64 192.168.100.28 /www rsync-3.1.3.tar.gz

軟件包:rsync-3.1.3.tar.gz 密碼:iw95

一、Web服務器:

1.安裝rsync軟件包

#解壓
tar zxvf rsync-3.1.3.tar.gz

#切換目錄
cd rsync-3.1.3
#配置
./configure
#編譯及安裝
make && make install

2.修改rsync配置文件:

/etc/rsyncd.conf

uid = nobody #用戶ID
gid = nobody #用戶組ID
use chroot = no
max connections = 10 #最大並發連接數,默認0(無限制)
strict modes=yes #是否檢查口令文件的權限,yes時必須為root用戶權限
pid file = /var/run/rsyncd.pid #守護進程PID路徑
lock file=/var/run/rsync.lock #指定支持max connections的鎖文件

log file=/var/run/rsyncd.log #日誌輸出文件路徑

[www] #模塊名稱
path = /www #需備份的文件或目錄,必設項
comment = ftp area #描述文字
ignore errors #可以忽略一些無關的I/O錯誤
read only=no #no:客戶端可以上傳文件 yes:只讀
write only=no #no:客戶端可以下載文件 yes:不能下載
hosts allow= #:允許連接任何主機
hosts deny=192.168.100.10 #禁止連接rsync服務器的IP
list=false #客戶端請求可以使用的模塊列表時,該模塊是否被列出
uid=root
gid=root
auth users=backup #用戶名backup,與系統用戶沒有任何關系
secrets file=/etc/server.pass #只有定義了auth users項,該文件才起作用,默認沒有此文件,須手動創建(文件格式為:"用戶名:密碼")

技術分享圖片

3.新建密碼文件(文件格式:user:pass)

/etc/server.pass

> backup:www123

修改密碼文件權限

chmod 600 /etc/server.pass

4.啟動rsync守護進程

/usr/local/bin/rsync --daemon       

5.查看rsync進程

ps -ef | grep rsync

技術分享圖片

二、容災服務器:

1.安裝rsync軟件包

#解壓
tar zxvf rsync-3.1.3.tar.gz
#切換目錄
cd rsync-3.1.3
#配置
./configure
#編譯及安裝
make && make install

2.新建密碼文件

vim /etc/server.pass

www123 //同web服務器密碼一致

修改密碼文件權限

chmod 600 /etc/server.pass

3.添加計劃性任務

crontab -e

#每分鐘同步一次數據

          • /usr/local/bin/rsync -vzrtopg --delete --progress --exclude "access" --exclude "debug*" [email protected]::www /www --password-file=/etc/server.pass

測試結果

技術分享圖片

技術分享圖片

Rsync 搭建遠程容災備份系統