检测unix中的目录更改

时间:2010-03-03 10:44:59

标签: linux bash unix filesystems

如何跟踪UNIX中特定目录的更改?例如,我启动了一些在执行期间创建一些文件的实用程序。我想知道在一次特定发布期间创建了哪些确切文件。有没有简单的方法来获取这些信息?问题是:

  1. 脚本执行后我无法刷新目录内容
  2. 使用具有哈希作为复合部分的名称创建的文件。没有可能从脚本中获取此哈希以用于后续搜索。
  3. 可能会同时执行多个脚本,我不希望在同一文件夹中看到由另一个进程创建的文件。
  4. 请注意,我不想知道目录是否已按照所述here更改,我需要理想情况下可以使用文件名来匹配特定模式。

5 个答案:

答案 0 :(得分:6)

答案 1 :(得分:3)

你应该使用像FAM,gamin或inotify这样的东西来检测文件何时被创建,关闭等等。

答案 2 :(得分:3)

您可以使用strace -f myscript跟踪脚本进行的所有系统调用,并使用grep过滤创建新文件的系统调用。

答案 3 :(得分:0)

您可以使用script命令跟踪已启动的命令。

答案 4 :(得分:0)

您可以使用Linux审核系统。这是一个howto链接:

http://www.cyberciti.biz/tips/linux-audit-files-to-see-who-made-changes-to-a-file.html