實現數據實時同步

1、爲何要用rsync+sersync架構?html

一、sersync是基於inotify開發的,相似於inotify-tools的工具服務器

二、sersync能夠記錄下被監聽目錄中發生變化的(包括增長、刪除、修改)具體某一個文件或者某一個目錄的名字,而後使用rsync同步的時候,只同步發生變化的文件或者目錄 架構

2、rsync+inotify-tools與rsync+sersync架構的區別?ide

一、rsync+inotify-tools
a、inotify只能記錄下被監聽的目錄發生了變化(增,刪,改)並無把具體是哪一個文件或者哪一個目錄發生了變化記錄下來;
b、rsync在同步的時候,並不知道具體是哪一個文件或目錄發生了變化,每次都是對整個目錄進行同步,當數據量很大時,整個目錄同步很是耗時(rsync要對整個目錄遍歷查找對比文件),所以效率很低 工具

二、rsync+sersync
a、sersync能夠記錄被監聽目錄中發生變化的(增,刪,改)具體某個文件或目錄的名字;
b、rsync在同步時,只同步發生變化的文件或目錄(每次發生變化的數據相對整個同步目錄數據來講很小,rsync在遍歷查找對比文件時,速度很快),所以效率很高。 網站

同步過程:server

  1. 在同步服務器上開啓sersync服務,sersync負責監控配置路徑中的文件系統事件變化; 實際上sersync就是監控本地的數據寫入或更新事件,經過rsync推送到目標服務器。
  2. 調用rsync命令把更新的文件同步到目標服務器;
  3. 須要在主服務器配置sersync,在同步目標服務器配置rsync server(注意:是rsync服務)htm

    同步過程和原理:進程

  4. 用戶實時的往sersync服務器上寫入更新文件數據;
  5. 此時須要在同步主服務器上配置sersync服務;
  6. 在另外一臺服務器開啓rsync守護進程服務,以同步拉取來自sersync服務器上的數據;
    經過rsync的守護進程服務後能夠發現,實際上sersync就是監控本地的數據寫入或更新事件;而後,在調用rsync客戶端的命令,將寫入或更新事件對應的文件經過rsync推送到目標服務器

3、操做
一臺裝sersync一臺裝rsync服務 對10.0.0.5網站根目錄的/var/www/html目錄備份到10.0.0.6的/www (因此10.0.0.6上只安裝rsync就能夠了。
Sersync服務器(源機器 ;數據源【部署的項目,代碼等】):10.0.0.5
Rsync服務器(備份機(備份端磁盤大專門用來存儲數據 );目標機器):10.0.0.6事件

相關文章
相關標籤/搜索