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