lsyncd監視本地目錄樹事件監視器介面(inotify或fsevents)。它聚合並將事件組合在一起幾秒鐘,然後生成乙個(或多個)程序來同步這些更改。預設情況下,由rsync實現同步。因此,lsyncd是一種輕量級的實時映象解決方案,相對容易安裝,不需要新的檔案系統或塊裝置,也不會妨礙本地檔案系統的效能。
lsyncd 2.2.2要求在所有源和目標機器上rsync >= 3.1。
系統環境:
renwoleserver:10.28.204.65 服務端
renwoleclient:10.28.204.66 客戶端
os:centos
linux release 7.4.1708 (core) x64
rsync的安裝
請參閱:《centos7 configuring rsync server》。安裝擴充套件依賴包
$ yum install -y gcc gcc-c++ lua lua-devel cmake libxml2 libxml2-devel源**編譯安裝lsyncd
$ wget安裝lua-devel即可。$ tar xvf release-2.2.2.tar.gz
$ cd lsyncd-release-2.2.2
$ cmake -dcmake_install_prefix=/usr/local/lsyncd
$ make && make install
$ ln -s /usr/local/lsyncd/bin/lsyncd /usr/bin/lsyncd
安裝過程可能報錯:
-- configuring incomplete, errors occurred!
設定無密碼ssh登入
因為這裡使用rsyncssh進行同步,所以還需要配置root賬號無密碼ssh登入。詳細配置請參閱:
《如何在linux中設定ssh無密碼登入》
配置lsyncd
以下是三種常用配置案例
1.遠端同步rsyncssh模式配置方案:
$ vim /etc/lsyncd.conf2.本地目錄同步配置方案:settings
sync ,
rsync = ,
ssh =
}
sync3.遠端同步rsync-daemon模式配置方案
sync ,重點引數說明:delay = 30,
init = false,
rsync =
}}
-- # 注釋符lsyncd配置檔案允許多個sync互不影響。settings # 是全域性配置
sync # 定義同步引數
rsync # 定義同步檔案引數
ssh # 定義伺服器遠端埠
說明:如果是一對多,請參閱本地同步,修改目標目錄即可。
建立systemctl系統單元檔案
為了實現systemctl進行管理,請建立配置檔案以及指令碼啟動檔案,命令如下:
$ vim /etc/sysconfig/lsyncd啟動lsyncd並加入開機自啟動新增如下內容:
lsyncd_options="/etc/lsyncd.conf"
建立啟動檔案:
$ vim /usr/lib/systemd/system/lsyncd.service
新增如下內容:
[unit]
description=live syncing (mirror) daemon
after=network.target
[service]
type=******
environmentfile=-/etc/sysconfig/lsyncd
execstart=/usr/local/lsyncd/bin/lsyncd -nodaemon $lsyncd_options
[install]
wantedby=multi-user.target
$ systemctl start lsyncd日誌內容顯示pchunter_renwole.com.rar檔案成功同步。$ systemctl enable lsyncd
[root@renwoleserver ~] $ cat /var/log/lsyncd.log
...fri dec 22 01:19:22 2017 normal: calling rsync with filter-list of new/modified files/dirs
/pchunter_renwole.com.tar.gz
/fri dec 22 01:19:24 2017 normal: finished (list): 0
fri dec 22 01:19:32 2017 normal: calling rsync with filter-list of new/modified files/dirs
/pchunter_renwole.com.tar.gz
/fri dec 22 01:19:34 2017 normal: finished (list): 0
fri dec 22 01:19:34 2017 normal: calling rsync with filter-list of new/modified files/dirs
/pchunter_renwole.com.tar.gz
/fri dec 22 01:19:36 2017 normal: finished (list): 0
另外lsyncd是基於inotify + rsync的開源同步軟體,相對於其他同步軟體更加安全可靠,占用資源更少,但配置略麻煩。
lsyncd 還支援當監控到某個指定事件時就執行什麼樣的命令,由於是通過時間延遲和累計事件命中次數來觸發同步,在設計上要優於inotify,另外他的同步速度完全取決於你的網路質量。
大神教你 在Ubuntu上安裝MongoDB資料庫
mongodb是在現代web應用程式中常用的文件資料庫。本教程應該幫助您設定虛擬專用伺服器,以用作生產應用程式環境的專用mongodb伺服器。第1步 建立droplet 這乙個很容易。一旦你完成,繼續和 ssh 注 建議您配置 ssh 和 sudo 像這樣 第2步 建立安裝指令碼 mongodb安裝...
大神教你在Linux中使用tcpdump命令
一般情況下linux系統會自帶tcpdump工具,如果系統沒有安裝,直接用命令安裝就行了。安裝命令 yum install y tcpdump 檢視安裝版本命令 tcpdump help 檢視網絡卡命令 知道了網絡卡,就可以使用tcpdump工具針對伺服器上的網絡卡監控 過濾網路資料。tcpdump...
大神教你在Linux中使用tcpdump命令
一般情況下linux系統會自帶tcpdump工具,如果系統沒有安裝,直接用命令安裝就行了。安裝命令 yum install y tcpdump 檢視安裝版本命令 tcpdump help 檢視網絡卡命令 知道了網絡卡,就可以使用tcpdump工具針對伺服器上的網絡卡監控 過濾網路資料。tcpdump...