最近在做測試,站群伺服器上的包要一臺一臺的上傳,實在太麻煩,就想到了用 rsync+sersync 做個同步目錄。
一、 rsync 介紹
RSYNC=remote sync 遠端同步,高效。和 scp 類似,不過 rsync 可以邊複製,邊統計、比較,而 scp 則不能。
1. 特性:(1)能保持原來檔案的許可權,時間,軟硬連結等
(2)第一次 rsync 會複製所有檔案,第二次只複製修改過的檔案,節省資源和時間。
(3)傳輸過程中能實行壓縮、解壓縮操作,使用更少頻寬。
(4)安全,支援匿名傳輸。
2. 資料同步方式
推:push 一臺 WordPress 主機把資料推送給其他 WordPress 主機,站群伺服器開銷大,適合後端站群伺服器少的情況。
拉:pull 所有 WordPress 主機定時去找站群伺服器拉資料,會導致資料緩慢。
3. 服務安裝
將資料上傳到 test1 站群伺服器上,透過 push 的方式推到 test2 站群伺服器上。所以在 test2 上安裝服務端和 xinetd(超級網際網際網路守護 程式服務)。如果 rsync 進來的是 873 埠,xinetd 會通知它所管轄的 rsync 服務來做回應,之後就是兩個 rsync 之間的通訊。
常用引數:-a (儲存當前許可權等資訊)
-v(輸出資訊)
-z(資料傳輸時進行壓縮)
服務端:test2
[root@test2 ~]# yum install rsync xinetd -y
[root@test2 ~]# rsync –daemon //啟動 rsync 服務
客戶端:test1
[root@test1 ~]# yum install rsync -y
測試:
[root@test1 ~]# useradd ksidc; echo ksidc:123456 | chpasswd //新建使用者
[root@test1 ~]# setfacl -R -m user:ksidc:rwx /rsync-data/ //賦予許可權
[root@test1 ~]# setfacl -R -m default:ksidc:rwx /rsync-data/