安裝inotify-tools-3.14.tar.gz
解壓:
編譯安裝:
inotifywait:在被監控的文件或目錄上等待特定文件系統事件(open、close、delete等)發生,執行後處於阻塞轉態,適合在shell腳本中使用。
inotifywatch:收集被監控的文件系統使用度統計數據,指文件系統事件發生的次數統計。
inotifywait命令常用參數
測試一:
窗口一:
窗口二:
測試二:
窗口一:
窗口二:
同時監控多個事件,事件之間用逗號分隔。
測試:
窗口一:
窗口二:
備份服務器:
寫入rc.local
應用場景:10—300k小文件並發200—300,不會有延遲。
關鍵參數說明:
在/proc/sys/fs/inotify目錄下有三個文件,對inotify機制有一定的限制。
max_user_watches:設置inotifywait或inotifywatch命令可以監視的文件數量(單進程)。
max_user_instances:設置每個用戶可以運行的inotifywait或inotifywatch命令的進程數。
max_queued_events:設置inotify實例事件(event)隊列可容納的事件數量。
每秒200個文件並發,數據同步幾乎無延遲。
inotify優點:
實時數據同步。
inotify缺點:
1、並發如果大於200個文件(10—100K),同步會有延遲。
2、監控到事件後,調用rsync同步是單進程的(加&並發),sersync多進程同步。
sersync的功能:
1、配置文件。
2、真正的守護進程socker。
3、可以對失敗文件定時重傳(定時任務)。
4、第三方的http接口。
5、默認多線程同步。
高並發數據實時同步方案:
1、文件級別:inotify(sersync)+rsync。
2、文件系統級別:drbd。
3、第三方軟件的同步功能:mysql同步、oracle、mongodb。
4、程序雙寫。
5、業務邏輯解決。
http://xxxxxx/Linuxjc/1190997.html TechArticle