一. 簡介
rsync常用的備份工具, 它目前是由 rsync.samba.org 維護.
rsync使用所謂的"rsync算法",提供一個非常快速的檔案傳輸方法, 使local和遠端二部主機之間的檔案達到同步,它主要是傳送二個檔案的異動部份,而非每次都整份傳送, 因此速度相當地快.
rsync它可以搭配rsh或ssh,也可以當成daemon模式使用直接的socket連接, 所以rsync可以當做一個優異的備份工具來使用.
我這簡單介紹運用rsync備份遠程網路主機檔案的基本方法。
在這,我們是給rsync當成linux的一種daemon模式來運行.
首先,先給個簡單的定義:當然要一臺主機跑rsync daemon模式, 我們就稱這臺機器為一rsync Server, 或者說這臺主機是一臺備份主機( Backup Server).
備份主機會開啟一個873的端口(port), 等待對方rsync連接.所以服務器記的要開這個端口
連接時, rsync Server 會檢查密碼是否相符, 若通過密碼查核, 則開始進行檔案傳輸.
第一次連通完成時, 會把整份檔案傳輸一次, 下一次就只傳送二個檔案之間異動的部份.
以上是rsync client (欲加以備份的遠程網路主機) 和rsync server 的運作方式。
藉由上述方法, 我們當然也可以設立多部備份主機, 使網路主機上重要的檔案能分散至數部主機中, 以分散風險.
一旦完成備份, 我們可以對這些備份主機再做進一步的儲存動作, 如使用tar打成tar的包, 把檔案備份到硬盤之類.
以下內容,我用Ubuntu 7.10做客戶機,Centos5做服務器測試過.
二. 安裝法
rsync目前最新版是 2.6.8, 可以到rsync.samba.org 下載.
若您使用 rpm 套件,請用下面的方法安裝,當然rhel5和centos5中默認就安裝了
#rpm -ivh rsync*.rpm
#yum install rsync
它的設定檔位置在 /etc/rsyncd.conf,奇怪,我的沒有自動生成這個文件,那我們就來自己配置他
三. 設定 rsync server: (假設這臺主機名稱為 rsync.x111.com)
rsync server 端要設定以下四項:
1.規劃建立備份目錄區
2.啟動xinetd中的rsync
3.設定: /etc/rsyncd.conf
4.設定: 密碼檔
依次說明如下:
1. 規劃建立備份目錄區:
建議您準備一個容量較大且獨立的分割區, 并在其中開好備份目錄, 如此 /blackup/x99
2. 啟動xinetd中的rsync
系統默認沒有安裝xinetd。
# yum install xinetd
#service xinetd restart
#chkconfig rsync on
以上的操作,主要是要打開rsync這個daemon,一旦有rsync client要連接時,xinetd會把它轉介給rsyncd (port 873).
3. 設定 /etc/rsyncd.conf :
全局設置
uid = root
gid = root
use chroot = no # 不使用chroot
max connections = 4 # 最大連接數為4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log # 日志記錄文件
以下的部分,代表開放給某一臺rsync client 主機的設定, 簡單范本如下:
[x99]