监控正在删除的文件
Posted
技术标签:
【中文标题】监控正在删除的文件【英文标题】:Monitoring files that are being deleted 【发布时间】:2017-05-01 05:28:07 【问题描述】:我想了解如何找出哪个进程/用户正在删除 Linux 文件系统文件夹中的图像。因此,例如,给定一个文件夹,其中的文件被随机删除,确定是什么删除了它们。
更准确地说,我的问题是:
-
我有一个包含大约 100 万张图片的文件夹。
它们位于文件夹结构中,例如:所有以名称“abaco.jpg”开头的图像都位于“media/a/b/abaco.jpg”路径中。这些图片是通过后端上传的,据说之后就再也没有删除过。
在此特定基础架构中托管的特定客户端中,图像被随机删除。当我们意识到,整个图像文件夹都丢失了,例如:大块或整个文件夹被删除。我估计每次大约 20%。
目前我们会恢复备份,但理想情况下,我们会首先找出删除它们的原因。托管公司表示他们的 NAS 备份运行良好,没有问题或其他可疑进程,但我们端没有删除图像的进程。
如何开始排除故障以查明发生了什么?
其他一些信息:
此文件夹通过 NFS 挂载,实际文件位于 NAS 中。我愿意 无法访问 NAS,只能访问 NFS 所在的服务器 安装。我也许可以要求在此 NAS 中执行命令,但我不知道从哪里开始。 我自己没有此服务器的 root,但可以请求 拥有根访问权限的托管服务提供商可以根据需要进行修改。 这是一个应用程序,部署在其他几个客户端中,但除了这个基础设施中的这个问题之外,它们都没有这样的问题。关于如何开始调试此类问题的任何想法?
谢谢。
【问题讨论】:
【参考方案1】:也许您可以使用iwatch 来监视目录中的任何更改
或者在系统上安装 inotifywait 并通过将其输出记录到文件来使用它来等待目录的通知
inotifywait -m -r -e delete dir_name
并将上述内容记录到文件中以检查其进展情况。
通常很难准确检查谁以及何时删除了文件,因为该文件的大部分已消失。
【讨论】:
以上是关于监控正在删除的文件的主要内容,如果未能解决你的问题,请参考以下文章