如何跟踪哪个程序正在删除我的文件?

时间:2016-02-02 18:54:17

标签: filesystems

我有一个间歇性的问题,我试图追查。偶尔我的src目录的很大一部分被删除(比如所有文件的90%以上)。我正在处理我的项目,突然之间我会收到错误,请查看git status,它会显示我的仓库中的几乎所有文件都已被删除。然后我必须运行一堆git checkout --命令,如果我不失去一堆工作,我很幸运。

我可以使用inotify或其他程序观看我的src目录并报告哪个程序正在删除文件吗?我有一种感觉,但是除了轶事之外我没有任何证据,在我找到问题的根源之前,我不想打扰一个特定的项目。

OS X,顺便说一句。

2 个答案:

答案 0 :(得分:0)

首先想到的是使用lsof监视目录并将输出捕获到文件中(或者将终端设置为。)
我在OS X上测试了lsof +D ~/Downloads/ -r 2,看起来效果很好。
https://unix.stackexchange.com/questions/157064/monitoring-files-continuously-with-lsof

答案 1 :(得分:0)

Auditing。这是审核设计的一件事。

不要自己动手。不要使用专为其他目的设计的工具。使用操作系统提供的审计功能。

Basic tutorial for OS X is here:

  

在Mac OS X上进行OpenBSM审核

     

回到10.3.x,Apple提交了Mac OS X和Mac OS X Server   共同标准的国家信息保障伙伴关系   认证。 Common Criteria认证意味着   涵盖的硬件和软件已经过测试和评估   确保它符合既定的安全和要求   数据保护。 10.3.6和10.3.6服务器进行了测试并被发现   达到共同标准的评估保证等级3(EAL3)   认证

     

作为认证工作的一部分,出现了一个新的软件   来自Apple:Common Criteria Tools审计软件。这个软件   是OpenBSM,它是Sun的Basic的开源实现   安全模块(BSM)安全审核API和文件格式。 ...

是的,做得好是一件痛苦的事。但它工作,结果将是明确的。