天天看點

CentOS5.8 x86_64下配置rsync+inotify即時同步檔案

rsync可以實作觸發式的檔案同步,但是通過crontab守護程序方式進行觸發,同步的資料和實際資料會有差異,而inotify可以監控檔案系統的各種變化,當檔案有任何變動時,就觸發rsync同步,這樣就可以解決同步資料的實時性問題。rsync+inotify我在工作中會經常用到,大家部署這種時請注意以下方面:

一、rsync伺服器的uid和gid請将nobody:nobody改為www:www,因為是考慮到我們的Nginx伺服器是由www:www運作的,而其對應目錄很多時候有寫日志或其它相關寫檔案的需求。

二、/data/htdocs/www目錄對于www使用者而言是需要寫權限的,是以記得運作如下指令:

chown -R www:www /data/htdocs/www。

另外工作中rsync+inotify的優點和缺點也總結了下,如下:

rsync+inotify的優勢所在:

一、部署和維護都比較簡單,由于資料都部署在Web應用伺服器上面,較之單一NFS檔案伺服器而言沒有磁盤I/O壓力大的問題,原因很簡單:來自用戶端大量對圖檔及資料的通路需求,都分散在負載均衡器後面的N台Web應用伺服器上面了。

二、改動較大的程式,在正式釋出上線之前可以拿其中一台Web應用伺服器作為線上的測試伺服器,這樣較之釋出以後再版本回退帶來的損失較小。

rsync+inotify其缺點也比較明顯:

一、rsync+inotify在同步大檔案效果明顯不如小檔案方面好;

二、在對線上機器進行巡查時,發現rsync+inotify在記憶體占用方面比較多,16G記憶體的機器可使用記憶體總是寥寥無幾(CentOS系統記憶體的實際使用值一直都是5365左右),之前一直以為是記憶體洩露的問題,最後經重重排查,發現确實是rsync+inotify的原因。

其部署安裝方面詳見PDF附件。

<a href="http://down.51cto.com/data/2364913" target="_blank">附件:http://down.51cto.com/data/2364913</a>

本文轉自 撫琴煮酒 51CTO部落格,原文連結:http://blog.51cto.com/yuhongchun/1559769,如需轉載請自行聯系原作者

繼續閱讀