一. 簡介
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 的運作方式。
實現目的:想把服務器端得/webapps/wwwroot下文件同步到備份機上的/webapps/wwwroot下
二、安裝
下載地址:http://rsync.samba.org/ftp/rsync/src/rsync-3.0.4.tar.gz
tar zxvf http://rsync.samba.org/ftp/rsync/src/rsync-3.0.4.tar.gz
cd rsync-3.0.4
./configure --prefix=/usr/local/rsync
make
make install
三:配置:
Rsync server:
默認安裝完沒有配置文件:
mkdir /usr/local/rsync/logs
mkdir /usr/local/rsync/etc
mkdir /usr/local/rsync/run
添加主配置文件:
vim /usr/local/rsync/etc/rsyncd.conf
uid = root
gid = root
port = 873
use chroot = no
hosts allow = 192.168.9.3
#hosts deny = 192.168.10.0/24
pid file = /usr/local/rsync/run/rsyncd.pid
lock file = /usr/local/rsync/run/rsync.lock
log file = /usr/local/rsync/logs/rsyncd.log
ignore errors
[9aiyx]
path = /webapps/wwwroot
auth users = 9aiyx
secrets file = /usr/local/rsync/rsyncd.pass
read only = no
添加密碼文件:
vim /usr/local/rsync/rsyncd.pass
格式如下:用戶名:密碼
9aiyx:9aiyx
然後給600權限:
chmod 600 /usr/local/rsync/rsyncd.pass
啟動rsync服務:
rsync --daemon --config=/usr/local/rsync/etc/rsyncd.conf & (並添加到rc.local文件中)
Rsync client:
添加密碼文件:
vim /root/rsyncd.pass (裡面只寫入密碼即可)
9aiyx
chmod 600 /root/rsyncd.pass
安裝步驟同上:
然後執行如下命令:
rsync -arP --password-file=/root/rsyncd.pass [email protected]::9aiyx /webapps/wwwroot &
或者指定任務計劃同步。
安全設置:
iptables -A INPUT -p tcp -s ! 192.168.9.3 --dport 873 -j DROP 只允許192.168.9.3的主機能連入rsync server