首先安裝Rsync,好比在Redhat Fedora Linux上或者RHEL AS3上: html
rpm -ivh rsync-2.5.7-5.3E.i386.rpm
安裝完成。 linux
rsync客戶端和服務器端都是同一個執行文件,只不過加的參數不同。 shell
例如,服務器A是192.168.0.100,服務器B是192.168.0.101,例如將101上的/www/downloads/new目錄下的文件同步到192.168.0.100的/www/download目錄下,則100上運行rsync做爲服務器端,101作爲客戶端。 服務器
首先把192.168.0.100服務器端的配置文件創建起來。 ui
vi /etc/rsyncd.conf 內容以下: spa
uid = nobody gid = nobody use chroot = yes max connections = 4 pid file = /var/run/rsyncd.pid lock file = /var/run/rsync.lock log file = /var/log/rsyncd.log [downloads] path = /www/downloads/ ignore errors read only = false list = false hosts allow = 192.168.0.101/24 hosts deny = 0.0.0.0/32 auth users = backup secrets file = /etc/rsyncd.pwd
找個配置文件中,uid和gid指明瞭運行身份,chroot表示鏈接後自動切換目錄,read only=false是容許別的客戶端向本機的服務器端上傳。host allow和deny是限制鏈接地址。auth user是認證用戶名,secrets file = /etc/rsyncd.pwd是表示認證用戶名的時候到這裏讀取密碼。 code
接下來編輯密碼文件: orm
vi /etc/rsyncd.pwd backup:123456 #設置密碼文件權限700:(權限不對會登錄不上) chmod 700 /etc/rsyncd.pwd #而後啓動rsync服務: /usr/bin/rsync --daemon #把rsync加入自動啓動腳本,開機後自動啓動: echo "/usr/bin/rsync --daemon" >> /etc/rc.d/rc.local #注意一下iptables必須容許rsync的873端口被鏈接。
如今到192.168.0.101的客戶端上,命令格式以下:
rsync [-參數] 源地址路徑 目標地址路徑
例如將101上的/www/downloads/new目錄下的文件同步到192.168.0.100的/www/downloads目錄中。
則建立執行腳本: htm
vi /root/rsync.sh crontab
rsync -vrtL --progress \ /www/downloads/new/* \ backup@192.168.0.100::downloads \ --password-file=/root/rsync.pwd
-v參數表示顯示輸出結果,r表示保持屬性,t表示保持時間,L表示軟link視做普通文件。
建立客戶端的密碼文件:
vi /root/rsync.pwd
123456
注意:客戶端的密碼腳本不帶用戶名。
設置密碼文件權限700:(權限不對會登錄不上)
chmod /root/rsync.pwd #將客戶端腳本加入按期任務: echo "00 3 * * * root /usr/prima/etc/rsync.sh" >> /etc/crontab #則天天凌晨3點運行同步。
如今能夠直接運行 /root/rsync.sh 觀看效果。
簡單的rsync配置完成。