rsync實現服務器目錄同步

Rsync(remote sync)是UNIX及類UNIX平臺下一款神奇的數據鏡像備份軟件,它不像FTP或其餘文件傳輸服務那樣須要進行全備份,Rsync能夠根據數據的變化進行差別備份,從而減小數據流量,提升工做效率。你可使用它進行本地數據或遠程數據的複製,Rsync可使用SSH安全隧道進行加密數據傳輸。Rsync服務器端定義源數據,Rsync客戶端僅在源數據發生改變後纔會從服務器上實際複製數據至本地,若是源數據在服務器端被刪除,則客戶端數據也會被刪除,以確保主機之間的數據是同步的。Rsync使用TCP 873端口。web

rsync的安裝很簡單,咱們通常用的centos系統直接yum就能夠安裝:
shell

yum install -y rsync

這裏咱們以2臺服務器來演示,A服務器:192.168.0.1,B服務器:192.168.0.2,B服務器須要同步A服務器的/web目錄,咱們首先操做B服務器:vim

vim /etc/rsync.conf
#日誌位置
log file = /var/log/rsyncd.log
#pid文件位置
pidfile = /var/run/rsyncd.pid
#lock文件位置
lock file = /var/run/rsync.lock
#同步的帳號密碼文件
secrets file = /etc/rsync.pass
#同步提示顯示設置文件
motd file = /etc/rsyncd.Motd
#同步的自定義模塊名稱
[web]
#同步的目錄
path = /

comment = web
#同步用的uid
uid = root
#同步用的gid
gid = root
#rsync監視端口
port=873

use chroot = no

read only = no

list = no

max connections = 2

timeout = 600
#驗證用戶
auth users = web
#容許同步的遠端服務器ip
hosts allow = 192.168.0.1
#禁止同步的遠端服務器ip
hosts deny = *
#設置同步的帳號密碼
echo "tom:pass" > /etc/rsync.pass
chmod 600 /etc/rsync.pass

啓動rsync服務:
centos

rsync --daemon

這裏你們要記得看看服務器的防火牆有沒有阻止873端口,阻止的話記得打開不是同步會報錯。
安全


到這裏B服務器的部署已經完成,轉到A服務器上同樣的先須要安裝rsyncbash

yum install -y rsync

創建同步驗證的密碼文件服務器

echo "pass" > /etc/passwd.txt

測試同步效果,注意必定要當心不要同步錯了方向,最好拿一個沒用的目錄來測試,這裏咱們直接測試:ide

rsync -avH --port=873 --progress --delete /web tom@192.168.0.2::web --password-file=/etc/passwd.txt

查看2邊目錄文件是否一致,沒有問題就保存爲shell文件rsync.sh,並作一個crontab每分鐘同步一次:測試

*/1 * * * * /bin/sh /root/rsync.sh >>/var/log/rsync.log 2>&1

到這裏就大功告成了!!ui

相關文章
相關標籤/搜索