您好,登錄后才能下訂單哦!
小編給大家分享一下linux系統(tǒng)如何使用rsync進(jìn)行文件同步,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!
假設(shè)有兩臺服務(wù)器:IP:114.22.168.67 — 作為rsync服務(wù)器 需要配置rsyncd.conf文件IP:46.94.110.123 — 作為rsync客戶端 不需要配置rsyncd.conf,文件可為空
在服務(wù)器端創(chuàng)建/demo目錄作為共享目錄,復(fù)制一些測試文件到該目錄中,用于進(jìn)行測試。
二、安裝及配置 rsync1、安裝
[root@localhost ~]# yum -y install rsync
2、配置
服務(wù)端配置:rsync主要分為三個配置文件,分別是:rsyncd.conf — 主配置文件rsyncd.secrets — 密碼文件rsyncd.motd — 服務(wù)器信息文件
分別創(chuàng)建如下目錄和文件:
[root@localhost1 ~]# mkdir /etc/rsyncd[root@localhost1 ~]# touch /etc/rsyncd/rsyncd.conf[root@localhost1 ~]# touch /etc/rsyncd/rsyncd.secrets[root@localhost1 ~]# chmod 600 /etc/rsyncd/rsyncd.secrets[root@localhost1 ~]# touch /etc/rsyncd/rsyncd.motd
修改主配置文件:
[root@localhost1 ~]# vi /etc/rsyncd/rsyncd.conf
在文件中加入以下內(nèi)容:
uid = rootgid = rootuse chroot = nomax connections = 5strict modes = yesport = 873pid file = /var/run/rsyncd.pidlock file = /var/run/rsync.locklog file = /var/log/rsyncd.log
[backup]path = /democomment = This is a backupignore errorsread only = yeslist = nohosts allow = 46.94.110.123 127.0.0.1auth users = testsecrets file = /etc/rsyncd/rsyncd.secretsuid = root #運(yùn)行 rsync 守護(hù)進(jìn)程的用戶gid = root #運(yùn)行 rsync 守護(hù)進(jìn)程的組use chroot = no #若為yes, 則需要root權(quán)限,并且在同步符號連接資料時(shí)只會同步名稱不會同步內(nèi)容。 max connections = 5 #設(shè)置并發(fā)連接數(shù),0表示無限制strict modes = yes #是否檢查口令文件的權(quán)限port = 873 #端口,873為 rsync 默認(rèn)端口pid file = /var/run/rsyncd.pid #PID文件路徑lock file = /var/run/rsync.lock #鎖文件路徑log file = /var/log/rsyncd.log #日志文件路徑
#自定義模塊名。模塊是定義服務(wù)器哪個目錄要被同步。格式:[name][backup] path = /demo #同步目錄的路徑通過path指定comment = This is a backup #定義注釋說明的內(nèi)容ignore errors #忽略一些IO錯誤read only = yes #是否允許客戶端上傳數(shù)據(jù)(雙向同步),yes表示不允許 list = no #客戶端請求顯示模塊列表時(shí),本模塊名稱是否顯示,默認(rèn)為yes(true)hosts allow = 46.94.110.123 127.0.0.1 #設(shè)置哪些主機(jī)可以同步數(shù)據(jù),多ip和網(wǎng)段之間使用空格分隔auth users = test #設(shè)置允許連接服務(wù)器的賬戶(自定義命名)secrets file = /etc/rsyncd/rsyncd.secrets #密碼驗(yàn)證文件名
修改密碼配置文件:
[root@localhost1 ~]# vi /etc/rsyncd/rsyncd.secrets
輸入內(nèi)容:test:123456(用戶名:密碼 )(自定義設(shè)置)
test:123456
修改服務(wù)器歡迎信息(非必改項(xiàng),可不設(shè)置):
[root@localhost1 ~]# vi /etc/rsyncd/rsyncd.motd
加入自定義內(nèi)容:
welcome to use the rsync services!
啟動rsync服務(wù):
以 –daemon 方式啟動服務(wù)
[root@localhost2 ~]# rsync –daemon –config=/etc/rsyncd/rsyncd.conf
#關(guān)閉服務(wù):pkill rsync
查看rsync服務(wù)是否啟動:
[root@localhost2 ~]# ps -ef|grep rsync[root@localhost2 ~]# netstat -anlp | grep 873[root@localhost2 ~]# lsof -i:873
設(shè)置開機(jī)啟動 rsync服務(wù)
[root@localhost2 ~]# echo “rsync –daemon –config=/etc/rsyncd/rsyncd.conf” >> /etc/rc.local
添加防火墻規(guī)則,允許873端口的數(shù)據(jù)訪問
[root@localhost2 ~]# firewall-cmd –permanent –add-port=873/tcp
#或者[root@localhost2 ~]# vi /etc/sysconfig/iptables#添加以下內(nèi)容-A INPUT -p tcp -m state –state NEW -m tcp –dport 873 -j ACCEPT
#重啟防火墻[root@localhost2 ~]# service iptables restart
三、rsync文件同步 客戶端配置: 安裝
[root@localhost2 ~]# yum -y install rsync
創(chuàng)建密碼文件:
[root@localhost2 ~]# touch /etc/rsyncd.secrets
輸入密碼:123456
[root@localhost2 ~]# echo “123456” > /etc/rsyncd.secrets[root@localhost2 ~]# chmod 600 /etc/rsyncd.secrets
啟用文件同步:
[root@localhost2 ~]# rsync -avzP –delete –progress test@114.22.168.67::backup –password-file=/etc/rsyncd.secrets /usr/backup上述命令的意思是用test用戶登陸到114.22.168.67的rsync服務(wù)器上,把backup模塊中指定的數(shù)據(jù)同步到本地的/usr/backup目錄下。以下是上一條命令中的參數(shù)介紹:
-a archive 歸檔模式,表示以遞歸方式傳輸文件,并保持所有文件屬性,等于-rlptgoD。 -r 是遞歸 -l 是鏈接文件,意思是拷貝鏈接文件;-p 表示保持文件原有權(quán)限; -t 保持文件原有時(shí)間;-g 保持文件原有用戶組;-o 保持文件原有屬主;-D 相當(dāng)于塊設(shè)備文件;
-r 是遞歸;
-l 是鏈接文件,意思是拷貝鏈接文件;
-p 表示保持文件原有權(quán)限;
-t 保持文件原有時(shí)間;
-g 保持文件原有用戶組;
-o 保持文件原有屬主;
-D 相當(dāng)于塊設(shè)備文件;
-z 傳輸時(shí)壓縮;
-P 傳輸進(jìn)度;
-v 傳輸時(shí)的進(jìn)度等信息,和-P有點(diǎn)關(guān)系;
progress 是指顯示出詳細(xì)的進(jìn)度情況
delete 是指如果服務(wù)器端刪除了這一文件,那么客戶端也相應(yīng)把文件刪除,保持真正的一致
password-file=/etc/rsyncd.secrets
來指定密碼文件,這樣就可以在腳本中使用而無需交互式地輸入驗(yàn)證密碼了,這里需要注意的是這份密碼文件權(quán)限屬性要設(shè)得只有屬主可讀。
四、客戶端自動與服務(wù)器進(jìn)行文件同步客戶端配置:通過創(chuàng)建定時(shí)任務(wù)來完成同步
[root@localhost2 ~]# crontab -e
加入以下內(nèi)容:
rsync -avzP delete progress test@114.22.168.67::backup password-file=/etc/rsyncd.secrets /usr/backup上述內(nèi)容表示每分鐘執(zhí)行一次命令
重新啟動定時(shí)任務(wù):
[root@localhost2 ~]# service crond restart
我們通過在服務(wù)端的 /demo 目錄下創(chuàng)建新的文件,看看是否會同步到客戶端的 /usr/backup 目錄下。 等待一分鐘后,文件成功同步到了客戶端 ~
以上是“l(fā)inux系統(tǒng)如何使用rsync進(jìn)行文件同步”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對大家有所幫助,如果還想學(xué)習(xí)更多知識,歡迎關(guān)注億速云行業(yè)資訊頻道!
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。