use*_*333 3 linux bash monitoring inotify
是否可以以这种模式查看目录 /storage/data/usernames/Download/ -> /storage/data/*/Download/ 我需要查看是否在每个用户的下载文件夹中进行了更改。也许我需要创建所有路径的列表,将其放入数组并在每个文件夹上循环启动 inotify 进程,但这对系统来说可能很重。
是的,这很容易。
文件夹是动态创建的,这就是为什么我想跳过用户名部分并观看名称为“下载”的所有文件夹。
蓬松是它的正确工具。
fluffy
fluffyctl -W /storage/data/*/Download
fluffy
被调用的事件。fluffyctl -W /storage/data/*/Download
请在添加新用户后再次运行相同的 watch 命令;选择具有相同设置/选择的新用户目录。如果您删除了任何用户,请不要打扰,fluffy 会自行释放资源。适用于您的用例的命令:
目录内容 -
root@six-k:/opt# ls /opt/*/d1
/opt/d1/d1:
fd1
/opt/dd2/d1:
fd1
/opt/dd3/d1:
Run Code Online (Sandbox Code Playgroud)
调用fluffy
-
root@six-k:/home/lab/fluffy# fluffy
Run Code Online (Sandbox Code Playgroud)
控制/管理蓬松 -
root@six-k:/opt# fluffyctl -W /opt/*/d1
Run Code Online (Sandbox Code Playgroud)
事件——
root@six-k:/home/lab/fluffy# fluffy
event: ACCESS, ISDIR,
path: /opt/d1/d1
event: CLOSE_NOWRITE, ISDIR,
path: /opt/d1/d1
event: ACCESS, ISDIR,
path: /opt/dd2/d1
event: CLOSE_NOWRITE, ISDIR,
path: /opt/dd2/d1
event: ACCESS, ISDIR,
path: /opt/dd3/d1
event: CLOSE_NOWRITE, ISDIR,
path: /opt/dd3/d1
Run Code Online (Sandbox Code Playgroud)
注意:
inotifywait
不优雅,它有问题并报告错误的事件路径。我不想inotifytools
在这里回顾,但是如果您想知道它有什么问题,请查看目录树并在其中执行重命名/移动。稍后ls
在重命名的目录上做一个,看看它报告的路径!