歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux綜合 >> 學習Linux >> inotify,inotify-tools

inotify,inotify-tools

日期:2017/3/3 17:38:33   编辑:學習Linux

inotify,inotify-tools

inotify,inotify-tools


安裝inotify

安裝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

Copyright © Linux教程網 All Rights Reserved