Rsync實(shí)現(xiàn)文件定時(shí)同步技巧
使用背景:
2005年5月,商務(wù)網(wǎng)處于上線階段。但,由于總總原因一直遲遲不能上線。系統(tǒng)基本功能都已經(jīng)實(shí)現(xiàn)了,但是作為一個(gè)商務(wù)網(wǎng)整體來(lái)說(shuō),文件同步這塊還沒(méi)有完成。正好自己這段時(shí)間不是很忙。對(duì)這塊也有些興趣,所以決定摸摸看。
萬(wàn)事開(kāi)頭難,從沒(méi)接觸過(guò)什么同步之類(lèi)的,怎么開(kāi)始呢?幸好以前做郵件系統(tǒng)的時(shí)候,認(rèn)識(shí)了Eyou的小熊,請(qǐng)教了他,于是推薦了Rsync這個(gè)好工具給我。在此,特別感謝小熊的幫助。
Rsync的優(yōu)點(diǎn)是部署方便,使用方便,效率高,并且它是開(kāi)源的。目前在某些Linux服務(wù)器版中已經(jīng)將其捆綁進(jìn)來(lái),可見(jiàn)其功能已經(jīng)得到了較高的認(rèn)可。
關(guān)于Rsync的介紹,大家可以去google里面搜索,相信能找到更多,在此,我就不再浪費(fèi)大家時(shí)間了(魯迅先生說(shuō)過(guò):浪費(fèi)別人時(shí)間等于謀財(cái)害命,浪費(fèi)自己的時(shí)間等于慢性自殺。知道后果的嚴(yán)重性了吧,呵呵)。還是來(lái)看看我的實(shí)現(xiàn)步驟吧。
操作系統(tǒng):
文件服務(wù)器端: Red Hat Linux Advanced Server release 2.1AS/i686 (Pensacola)
客戶端:Red Hat Linux release 7.2 (Enigma)
其中,服務(wù)器端的Linux已經(jīng)捆綁了 Rsync。我在AIX下也實(shí)現(xiàn)了客戶端.
[注意事項(xiàng)]:
1、要確定系統(tǒng)本身是否已經(jīng)綁定(安裝)了Rsync,可以到/usr/bin ,/usr/local/bin/ 或者 /usr/sbin/ 等目錄下查找 Rsync是否存在,或者使用 whereis rsync,也行。
2、已綁定了Rsync的系統(tǒng),在 /etc/xinetd.d/rsync 中,默認(rèn)是關(guān)閉的。可以將其打開(kāi),然后 重起服務(wù) service xinted restart
3、如果系統(tǒng)本身已安裝了,那就不需要再安裝,如果需要升級(jí)Rsync版本,只需按照正常的安裝步驟安裝即可。
4、rsync默認(rèn)綁定的是873端口,如果rsync已經(jīng)作為后臺(tái)進(jìn)程啟動(dòng)了,那么通過(guò)netstat –nap|grep 873 應(yīng)該可以查看到有rsync 進(jìn)程。
1、安裝rsync
第一步:從 http://rsync.samba.org/ 下載rsync包(本文配置使用Rsync 2.6.5 released)
第二步:將rsync包上傳到作為服務(wù)器的機(jī)器上(例如:128.128.6.168)
第三步:轉(zhuǎn)到root身份登錄,解壓rsync-2.6.5pre2.tar.gz包,到指定目錄(例如: /home/zuohao/rsync/),并且將rsync目錄分配給某個(gè)用戶(例如:zuohao)。
第四步:進(jìn)入rsync 目錄。 鍵入:./configure。
Rsync將檢測(cè)系統(tǒng)信息,并且生成相關(guān)文件。
第五步:鍵入make,編譯 C文件。(注意:運(yùn)行該命令前先確定是否安裝C編譯器,例如gcc,cc等。)
第六步:鍵入 make install 安轉(zhuǎn)rsync。(注意:運(yùn)行該命令前先確定是否安裝C編譯器,例如gcc,cc等。)
第七步:如果以上編譯都沒(méi)有問(wèn)題,rsync安裝完成。
2、 配置rsync服務(wù)端
服務(wù)端的主要配置文件是 /etc/rsyncd.conf(該文件可能不存在,可以自己新建一個(gè)。) ,通過(guò)該文件可以配置全局訪問(wèn)的參數(shù),需要備份的模塊參數(shù)。以下面的配置為例:
uid = root
gid = root
use chroot = no
max connections = 4
pid file = /var/run/rsyncd.pid
lock file = /var/run/rsync.lock
log file = /var/log/rsyncd.log
hosts allow = 128.128.6.38
[inburst]
path = /usr/shr
comment = BACKUP CLIENT IS REDHAT ADVANCE SERVER 3.0
read only = yes
list = no
auth users = root
secrets file = /etc/inburst.pass
[file0]
path = /home/zuohao/www
comment = my rsync site
exclude = configfile
rsyncd.conf 可以有更多的配置,例如密碼的驗(yàn)證,模塊的設(shè)置等。
[注意事項(xiàng)]
rsyncd.conf 以及密碼文件的權(quán)限必須是600,即只有root可讀\寫(xiě)
更多rsyncd.conf屬性請(qǐng)參考. http://rsync.samba.org/ftp/rsync/rsyncd conf.html
3、 配置rsync 客戶端
第一步:安裝rsync:在客戶端上要實(shí)現(xiàn)同步,同樣需要安轉(zhuǎn)rsync服務(wù),(安裝方法參考上面)。
第二步:測(cè)試是否安裝成功。
在命令行輸入:
rsync -vzrtopg --progress --delete zuohao@128.128.6.38::file0 /home/zuohao/backup/
查看本地目錄/home/zuohao/backup/ 是否與服務(wù)器中的需要備份目錄文件已經(jīng)同步。
更多參數(shù)說(shuō)明,參考rsync網(wǎng)站說(shuō)明文檔:
http://rsync.samba.org/ftp/rsync/preview/rsync.html
第三步:編制定時(shí)運(yùn)行shell,運(yùn)行以上命令,實(shí)現(xiàn)文件的定時(shí)同步。
通過(guò)編輯crontab ,增加相應(yīng)的腳本,實(shí)現(xiàn)文件的定時(shí)同步.本例腳本如下:
*/30 * * * * zuohao /usr/local/bin/rsync.sh
在每個(gè)30分鐘的時(shí)候運(yùn)行一次.
4、安裝完成
完成以上配置后, rsync的服務(wù)器端和客戶端的配置就已經(jīng)完成,簡(jiǎn)單的文件定時(shí)同步基本能夠?qū)崿F(xiàn)了.在 rsync 的官方網(wǎng)站上 http://rsync.samba.org/ 有更多的例子和文檔可以參考.希望大家能通過(guò)本例,對(duì)rsync有大至的了解后,能夠去看那些文檔,這樣能夠更全面的使用rsync.
注意事項(xiàng)
1、 一般情況下 Linux 服務(wù)器版都已經(jīng)安裝了rsync。
2、 安裝rsync之前務(wù)必確定系統(tǒng)是否已安裝了C編譯器。否則安裝無(wú)法繼續(xù)。
3、 rsync的安裝必須是root用戶。
4、 rsyncd.conf文件的權(quán)限必須只有root能讀、寫(xiě),即 chmod 600 rsyncd.conf
5、 如果使用密碼文件,密碼文件的權(quán)限屬性也只能是600
6、 一個(gè)rsyncd.conf 文件可以配置多個(gè)備份模塊,每個(gè)模塊可以定義允許訪問(wèn)的ip(hosts allow)地址以及不能訪問(wèn)的ip(hosts deny)具體參考rsync網(wǎng)站的rsyncd.conf說(shuō)明文檔。
- 使用cwRsync實(shí)現(xiàn)windows下服務(wù)器文件定時(shí)同步備份(附錯(cuò)誤處理方法)
- Linux 用cp和rsync同步文件時(shí)跳過(guò)指定目錄的方法
- inotify-tools+rsync實(shí)時(shí)同步文件的配置方法
- rsync 同步錯(cuò)誤 cwrsync rsync error rsync error: some files/attrs were not transferred 解決方法
- RSync實(shí)現(xiàn)文件同步備份配置詳解
- rsync相對(duì)于其他同步工具的優(yōu)缺點(diǎn)介紹
- 在Windows中配置Rsync同步文件的方法
- windows下文件同步工具 CwRsync 4.0.2 安裝配置方法(圖文)
- rsync 只同步目錄結(jié)構(gòu)不同步文件的方法
- 無(wú)需密碼通過(guò)ssh執(zhí)行rsync來(lái)同步文件的方法
相關(guān)文章
TCP服務(wù)器實(shí)現(xiàn)數(shù)據(jù)通信
今天我們要介紹的是使用TCP協(xié)議實(shí)現(xiàn)數(shù)據(jù)通信,相比于之前寫(xiě)的UDP服務(wù)器實(shí)現(xiàn)數(shù)據(jù)信,在主體邏輯上并沒(méi)有差別,下面,我們具體來(lái)看看UDP和TCP在編碼的實(shí)現(xiàn)上有什么不同,感興趣的朋友一起看看吧2023-08-08Windows下搭建MQTT服務(wù)器的詳細(xì)教程
這篇文章主要介紹了Windows下搭建MQTT服務(wù)器的方法,基于mosquitto實(shí)現(xiàn),有需要的朋友可以參考下2023-08-08Tomcat 啟動(dòng)錯(cuò)誤(8080端口被占用)處理方法
8080端口被占用的解決方法,其實(shí)這個(gè)方法,可以用于其它一些端口被占用的問(wèn)題。2009-07-07使用華為云鯤鵬彈性云服務(wù)器部署Discuz的詳細(xì)過(guò)程
這篇文章主要介紹了使用華為云鯤鵬彈性云服務(wù)器部署Discuz,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-05-05Ubuntu通過(guò)Netplan配置網(wǎng)絡(luò)教程
這篇文章主要為大家介紹了Ubuntu通過(guò)Netplan配置網(wǎng)絡(luò)教程,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪2023-10-10監(jiān)控服務(wù)調(diào)用微信API如何給自己發(fā)告警信息
本文是腳本之家的小編給大家介紹監(jiān)控服務(wù)調(diào)用微信API如何給自己發(fā)告警信息,當(dāng)監(jiān)控的設(shè)備發(fā)生故障時(shí)可以通過(guò)微信告警。感興趣的朋友可以參考下2015-09-09Linux 系統(tǒng)下搭建 Gitlab 服務(wù)器的過(guò)程分析
這篇文章主要介紹了Linux 系統(tǒng)下搭建 Gitlab 服務(wù)器的過(guò)程,本文給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下2023-04-04