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