溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux系統(tǒng)如何使用rsync進(jìn)行文件同步

發(fā)布時(shí)間:2022-01-25 09:22:59 來源:億速云 閱讀:266 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下linux系統(tǒng)如何使用rsync進(jìn)行文件同步,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

Rsync 是一個遠(yuǎn)程數(shù)據(jù)同步工具,可通過 LAN/WAN 快速同步多臺主機(jī)間的文件。

linux系統(tǒng)如何使用rsync進(jìn)行文件同步

一、準(zhǔ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、安裝

服務(wù)器和客戶端都要安裝。Centos是默認(rèn)安裝了的

[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è)資訊頻道!

向AI問一下細(xì)節(jié)

免責(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)容。

AI