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

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


咨詢(xún)
建站咨詢(xún)
