新聞中心
rsync的目的是實現(xiàn)本地主機和遠程主機上的文件同步(包括本地推到遠程,遠程拉到本地兩種同步方式),也可以實現(xiàn)本地不同路徑下文件的同步,本篇文章重點為大家講解一下Rsync文件。

成都創(chuàng)新互聯(lián)公司是一家專注于網(wǎng)站制作、成都網(wǎng)站設計與策劃設計,商丘網(wǎng)站建設哪家好?成都創(chuàng)新互聯(lián)公司做網(wǎng)站,專注于網(wǎng)站建設十載,網(wǎng)設計領域的專業(yè)建站公司;建站業(yè)務涵蓋:商丘等地區(qū)。商丘做網(wǎng)站價格咨詢:13518219792
首先了解了下rsync同步的大致原理:Rsync 同步使用所謂的“Rsync 演算法”來使本地和遠程兩個主機之間的文件達到同步,這個算法只傳送兩個文件的不同部分,而不是每次都整份
傳送,因此傳輸?shù)乃俣认喈斂?。Rsync服務端會打開一個873的服務通道(port),等待客戶端 Rsync 連接。連接時,Rsync 服務端會檢查口令(passwd)是否相符,若通過口令查核,
則可以開始進行文件傳輸。第一次連通完成時,會把整份文件傳輸一次,下一次就只傳送二個文件之間的差異部份。
接下來我們就來初步搭建,先完成任務需求。
Rsync服務端(192.168.177.130)
安裝rsync工具
yum -y install rsync
(默認會在etc目錄下生成一個rsync的配置文件)
編輯配置文件rsyncd.conf (配置文件里面是不能添加注釋,不然會報錯)
uid = root
gid = root
use chroot = no
max connections = 4
#pid file = /var/run/rsyncd.pid
lock file = /var/run/rsyncd.lock
log file = /var/log/rsyncd.log
exclude = lost+found/
transfer logging = yes
timeout = 600
ignore nonreadable = yes
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2
[test]
path = /home/rsynctest
ignore errors = yes
read only = yes
write only = no
hosts allow = 192.168.177.131
hosts deny = *
list = false
uid = root
gid = root
auth users = root
secrets file = /etc/rsyncd.passwd
配置詳解
uid = root #設置運行rsync 進程的用戶
gid = root
use chroot = no #使用默認根目錄
max connections = 4 #最大連接數(shù)
#pid file = /var/run/rsyncd.pid #CentOS7中yum安裝 不需指定pid file 否則報錯
lock file = /var/run/rsyncd.lock #指定支持 max connections 參數(shù)的鎖文件
log file = /var/log/rsyncd.log #此文件定義完成后 系統(tǒng)會自動創(chuàng)建
exclude = lost+found/
transfer logging = yes #使rsync服務器使用ftp格式的文件來記錄下載和上載操作在自己單獨的日志中
timeout = 600 #通過該選項可以覆蓋客戶指定的IP超時時間。通過該選項可以確保rsync服務器不會永遠等待一個崩潰的客戶。超時單位為秒鐘,0表示沒有超時定義,這也是默認值。對于匿名rsync服務器來說,一個理想的數(shù)字是600。
ignore nonreadable = yes #同步時跳過沒有權(quán)限的目錄
dont compress = *.gz *.tgz *.zip *.z *.Z *.rpm *.deb *.bz2 #傳輸時不壓縮的文件
[test] #此名字即客戶端使用rsync來同步的路徑
path = /home/rsynctest #實際需要同步的路徑
ignore errors = yes #指定rsyncd在判斷是否運行傳輸時的刪除操作時忽略server上的IP錯誤,一般來說rsync在出現(xiàn)IO錯誤時將將跳過--delete操作,以防止因為暫時的資源不足或其它IO錯誤導致的嚴重問題
read only = yes #表示可以pull
write only = no #表示不可以push
hosts allow = 192.168.177.131 #客戶端同步的地址
hosts deny = * #指定不允許連接rsync服務器的機器,可以使用hosts allow的定義方式來進行定義。默認是沒有hosts deny定義。
list = false #該選項設定當客戶請求可以使用的模塊列表時,該模塊是否應該被列出。如果設置該選項為false,可以創(chuàng)建隱藏的模塊。默認值是true。
uid = root #獲取文件的身份
gid = root
auth users = root #客戶端獲取文件的身份 此用戶并不是本機中確實存在的用戶
secrets file = /etc/rsyncd.passwd #用來認證客戶端的秘鑰文件 格式 USERNAME:PASSWD 此文件權(quán)限一定需要改為600,且屬主必須與運行rsync的用戶一致。(需自行創(chuàng)建)
創(chuàng)建對應密碼文件
vim /etc/rsyncd.passwd
格式如下:root:123456(前用戶名后密碼)
修改文件權(quán)限:chmon 600 /etc/rsyncd.passwd
啟動rsync服務端:sudo rsync --daemon(客戶端不用啟動)
Rsync客戶端(192.168.177.131)
安裝rsync工具
yum -y install rsync (默認會在etc目錄下生成一個rsync的配置文件)
配置認證密碼文件
echo passwd(只需要密碼就行) >> /etc/rsyncd.passwd
修改權(quán)限
chmon 600 /etc/rsyncd.passwd
測試文件同步情況:
rsync -avz --progress --password-file=/etc/rsyncd.passwd [email protected]::rsynctest /tmp/rsynctest/
Rsync文件同步學習Rsync文件同步學習
測試完成!
命令參數(shù)詳解:
-v, –verbose 詳細模式輸出
-z, –compress 對備份的文件在傳輸時進行壓縮處理
-r, –recursive 對子目錄以遞歸模式處理
-t, –times 保持文件時間信息
-o, –owner 保持文件屬主信息
-p, –perms 保持文件權(quán)限
-g, –group 保持文件屬組信息
–-progress 顯示傳輸進度
--delete 刪除客戶端多余文件
分享名稱:詳解Rsync文件同步
文章鏈接:http://fisionsoft.com.cn/article/djggjig.html


咨詢
建站咨詢
