Re: [請益] 如何監控某個資料夾內檔案是否變動

看板Soft_Job作者 (.)時間12年前 (2013/09/04 02:53), 編輯推噓3(302)
留言5則, 5人參與, 最新討論串2/2 (看更多)
※ 引述《Ting1024 (無)》之銘言: : ※ 引述《peanut97 (花生)》之銘言: : : 方法1: : : 資料檔一定很大。更何況資料檔1跟資料檔2還要比較。 : : 方法2: : : 參考.Net Framework 的函數(FileSystemWatcher 類別): : : 費時間做snapshot,但是他是怎麼做的呢? : 我會採用DLL injection, 將程式碼 : 注射到 win32 api的 : CreateFile : ReadFile : MoveFileEx : ... 檔案存取相關 : 這幾個函示, 這樣複雜度就是 (1) : 存取的動作都會經過你的HOOK函示。 : 如果弄成這樣然後上去報告, 應該就會很紅了.. 最近公司提出了怪要求,要我評估看看可行性, 解法大概就是所有硬碟都設監控,FileSystemWatcher的監控設在所有硬碟根目錄, 然後子目錄是否一併監控的屬性設成true就可以了,不過感覺這方法真的暴力到糟糕, 是想說windows系統有沒有提供什麼端口,透過註冊給某特定dll檔, 能夠在某些IO動作event時去呼叫註冊的dll檔,不過看到你一文, 大概就確定沒有了, 有某些特殊的需求其實是可以透過win32本身內建機制開放的端口擴充的 (ex.windows shell), 不過也不是全部都有解,不然真的就是得像你說的直接hack win32 api最快. 前陣子也開出一個類似下面的要求 , ex. abcdef.某副檔名 對應 abcdef_attach目錄 當你move abcdef.某副檔名 這檔案到其他目錄時 ,要自動 把abcdef_attach目錄 也相對應move到那邊去,如果有人在編輯abcdef_attach裡頭的檔案時, 就會擋os move的操作... -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 61.70.105.149

09/04 07:20, , 1F
這公司也太狠了點,竟然要監測全硬碟
09/04 07:20, 1F

09/04 10:25, , 2F
File sys的journaling不是會記錄嗎?不知道行不行得通
09/04 10:25, 2F

09/04 20:39, , 3F
全部監控就等於全部不監控..誰有時間會去看那log阿?
09/04 20:39, 3F

09/04 21:52, , 4F
推樓上, 直接去買產品使用啦...... 誇張
09/04 21:52, 4F

09/05 10:07, , 5F
推樓樓上 通常是為了交差 結果是產生一堆垃圾又拖慢效能
09/05 10:07, 5F
文章代碼(AID): #1I9Z17Pw (Soft_Job)
文章代碼(AID): #1I9Z17Pw (Soft_Job)