CentOS 6.5 inotify+rsync 部署

來源:互聯網
上載者:User

標籤:inotify   部署   rsync   

Rsync是一款遠程同步軟體,在同步檔案(檔案和目錄)的時候可以保持原檔案的許可權、修改時間、包括連結檔案也可以同步。

這個東西應用在什麼地方呢?不管你是什麼業務,如果你有幾十台以上的伺服器,並且這些伺服器需要即時保持擁有的檔案一致,那你就會用到這個工具。比如你有幾十台web伺服器,網頁檔案會經常修改,如何批量同步這些新的網頁檔案到所有伺服器上呢?


Inotify又是什麼呢?它是一種通知機制,隨著時間的推移,你的原檔案夾可能越來越大,如果每次同步都把整個目錄掃描一遍那簡直不敢想象,inotify就是核心提供的一種功能,可以實現對目錄的監控,如果該目錄有任何檔案的刪除、修改、建立它都會捕捉到這一動作,並可以把這一事件發送給其他應用程式。


主機名稱 IP 說明
Linux01.localhost
10.10.6.12

Linux02.localhost 10.10.6.15
運行rsync守護進程,作為Server端,接收推送。



安裝Rsync

實現原理:

rsync採用的是C/S結構,不過S端是伺服器端,運行rsync的守護進程,C端通過命令來向S端推送檔案。

安裝:

rpm -qa rsync    #檢查是安裝了rsyncrpm -e rsync     #如果安裝了,那麼就刪除,系統內建的版本比較低wget https://download.samba.org/pub/rsync/rsync-3.1.2.tar.gz --no-check-certificate

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M02/89/E1/wKiom1ggOQPTaOL6AABLKuR6Ss0298.jpg-wh_500x0-wm_3-wmp_4-s_2307816096.jpg" style="float:none;" title="0.JPG" alt="wKiom1ggOQPTaOL6AABLKuR6Ss0298.jpg-wh_50" />

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/DE/wKioL1ggOQXjVSeVAADXf7CR8vw300.jpg-wh_500x0-wm_3-wmp_4-s_2681841241.jpg" style="float:none;" title="1.JPG" alt="wKioL1ggOQXjVSeVAADXf7CR8vw300.jpg-wh_50" />

tar -xzf rsync-3.1.2.tar.gzcd rsync-3.1.2./configure --prefix=/usr/local/rsync --disable-ipv6

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M02/89/E2/wKiom1ggPhug-F3vAABntIlYpq0354.jpg-wh_500x0-wm_3-wmp_4-s_2171279411.jpg" style="float:none;" title="5.JPG" alt="wKiom1ggPhug-F3vAABntIlYpq0354.jpg-wh_50" />

650) this.width=650;" src="http://s5.51cto.com/wyfs02/M00/89/DF/wKioL1ggPhvALmp9AABje6vAKAg056.jpg-wh_500x0-wm_3-wmp_4-s_1749728479.jpg" style="float:none;" title="5.1.JPG" alt="wKioL1ggPhvALmp9AABje6vAKAg056.jpg-wh_50" />

如果不指定安裝目錄,則預設會安裝到如下目錄中:

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M02/89/DF/wKioL1ggPlmzhIZSAABN5Is9DTc296.jpg-wh_500x0-wm_3-wmp_4-s_3440622691.jpg" title="11.JPG" alt="wKioL1ggPlmzhIZSAABN5Is9DTc296.jpg-wh_50" />

make && make install


設定賬戶和目錄:

groupadd -r rsync                         #建立rsync系統組useradd -g rsync rsync -r -s /sbin/login  #建立rsync系統帳號並加入到rsync組

650) this.width=650;" src="http://s2.51cto.com/wyfs02/M00/89/E1/wKiom1ggNoLig1X_AABWZiegTDA944.jpg-wh_500x0-wm_3-wmp_4-s_2776443346.jpg" title="3.JPG" alt="wKiom1ggNoLig1X_AABWZiegTDA944.jpg-wh_50" />

mkdir backup                #建立用於接收推送檔案的目錄chown rsync.rsync ./backup  #設定改目錄的屬主和屬組位rsync

650) this.width=650;" src="http://s3.51cto.com/wyfs02/M02/89/E1/wKiom1ggNxXggiRUAADIk8kcfNc126.jpg-wh_500x0-wm_3-wmp_4-s_2388742570.jpg" title="4.JPG" alt="wKiom1ggNxXggiRUAADIk8kcfNc126.jpg-wh_50" />

編輯設定檔:編譯安裝後它使用的設定檔預設位置為/etc/rsyncd.conf,但是預設這個檔案並不存在,需要你手動建立。

touch /etc/rsyncd.conf    #守護進程使用的設定檔,必須是rsyncd.conftouch /etc/rsyncd.passwd  #使用者名稱和密碼檔案,這個名字可以隨便chmod 600 /etc/rsyncd.passwd #修改密碼檔案許可權

650) this.width=650;" src="http://s1.51cto.com/wyfs02/M00/89/E2/wKiom1ggRB2wCspQAABUd-0nTYw624.jpg-wh_500x0-wm_3-wmp_4-s_4030959988.jpg" title="6.JPG" alt="wKiom1ggRB2wCspQAABUd-0nTYw624.jpg-wh_50" />

vim /etc/rsyncd.conf   #編輯設定檔
#[全域配置]# 伺服器IP和監聽連接埠號碼address = 10.10.6.15port = 873# 伺服器傳輸檔案時發給哪個使用者和哪個組來執行。pid = rsyncgid = rsync# 在檔案傳輸之前,伺服器守護進程將chroot到指定的PATH,優點是即時特殊的保護,缺點是需要roo# t許可權use chroot = no# 最大並發數max connection = 10# 逾時時間長度timeout = 300# 鎖、日誌和pid檔案位置lock file = /var/run/rsync.locklog file = /var/run/rsync.logpid file = /var/run/rsync.pid# 訊息檔案,當用戶端串連到伺服器是該檔案的內容將會顯示給用戶端motd file = /etc/rsyncd.mod# 存放虛擬使用者和密碼的檔案secrets file = /etc/rsyncd.passwd# 允許的網段hosts allow = *# 不允許的網段#hosts deny = 0.0.0.0/32# 是否允許客戶上傳檔案,true不允許,false允許。read only = false#[模組配置],所謂模組配置其實就是要使用的目錄,用戶端推送檔案到伺服器端的哪個目錄# 需要接收同步的目錄path = /usr/local/backup# 是否忽略錯誤ignore errorslist = false# 虛擬使用者,也就是用戶端用那個使用者來串連伺服器,可以用空格或者逗號分隔多個使用者,該使用者# 必須在上面secrets file = /etc/rsyncd.passwd檔案中auth users = rsync_backup# 該模組的描述,用戶端串連後會顯示給用戶端commment = hello



rsync可以以守護進程的方式運行,也可以由xinetd來啟用,如果你的伺服器負載比較高建議rsync以獨立的守護進程方式來運行。區別在於,如果以獨立的守護進程方式運行,它會一直監聽連接埠隨時準備接受檔案推送,如果由xinetd這個超級進程來管理的話,那沒有推送的時候rsync是休眠狀態,當有推送的時候,由xinetd這個超級進程啟用rsync,對於繁忙的伺服器來說這種方式會有額外開銷。

本文出自 “小惡魔的家” 部落格,請務必保留此出處http://littledevil.blog.51cto.com/9445436/1870338

CentOS 6.5 inotify+rsync 部署

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.