簡體   English   中英

如何檢測子目錄中的某個文件是否已更改?

[英]How can I detect if some file in a subdir changed?

基本上我有一個大目錄(> 10GB)(每個子目錄只有幾個其他子目錄),並希望對任何更改的文件做某事。 我不能只是瀏覽所有文件並檢查,因為它需要很長時間並占用我CPU的90%左右:(。

這基本上是這樣的:

dir
dir/subA
dir/subA/subAsubA
dir/subA/subAsubB
...
dir/subB
dir/subB/subBsubA
dir/subB/subBsubB
...
dir/SubC
dir/SubD
...

我的想法是這樣的(subBsubA chaged中的文件“test”):

Check dir
 -> dir changed
   -->Check subA
      -> subA didn't change
   -->Check subB
      -> subB changed
      --> Check subBsubA
          -> subBsubA changed
             --> Check all files

但遺憾的是,文件的更改只會影響直接父目錄的修改日期:(

正如@Aereaux指出的那樣,你可能需要inotify ,自2.6.13以來在Linux中可用。 http://en.wikipedia.org/wiki/Inotify

還有inotify-tools可用於命令行使用。 http://techarena51.com/index.php/inotify-tools-example/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM