【发布时间】:2017-12-06 11:42:03
【问题描述】:
是否可以以这种模式查看目录 /storage/data/usernames/Download/ -> /storage/data/*/Download/ 我需要查看是否在每个用户的下载文件夹中进行了更改。也许我需要创建所有路径的列表,将其放入数组中,并在每个文件夹上循环启动 inotify 进程,但这对系统来说可能很重。
【问题讨论】:
-
您想要
inotifywait并将其设置在父级上,它可以递归地监视您指定的任何更改(例如创建、修改、删除等)。它将输出在该目录结构中更改的文件的名称。如果您有两个不属于相关层次结构的目录(例如父/子),则设置两个监视。 -
问题是我需要跳过除每个用户主目录中的下载目录之外的所有其他文件夹。
-
它不必是递归的,你可以指定一堆不同的目录来观看。您甚至可以在一个文件中列出要监视的文件并使用
--fromfile <file>选项(每行一个文件/目录)初始化监视,因此一个监视可以覆盖所有主目录。它需要由具有足够读取权限的用户运行(如果您想在主目录中下降,则执行)。 -
文件夹是动态创建的,这就是为什么我想跳过用户名部分并查看所有名称为 Download 的文件夹。
-
感谢您对 --fromfile 选项的提示,我想我会运行脚本来获取所有路径并将它们保存在列表文件中并使用此选项进行监控。
标签: linux bash monitoring inotify