是否可以以这种模式观看目录/storage/data/usernames/Download/->/storage/data/*/Download/我需要观看是否在每个用户的下载文件夹中进行了更改。也许我需要创建所有路径的列表,将其放入数组中并在每个文件夹上循环启动 inotify 进程,但这对系统来说可能太重了。
最佳答案
是的,这很容易实现。
folders are created dynamically that's why i want to skip username part and watch all folders with name Download.
fluffy是正确的工具。
- 打开一个终端:1,运行
fluffy
- 在另一个终端:2,
fluffyctl -W/storage/data/*/Download
- 您必须能够在终端 1 上看到调用了
fluffy
的事件。 - 当你添加一个新用户但不希望重新执行 fluffy 来更新路径时,在你添加一个新用户;选择具有相同设置/选择的新用户目录。如果您删除了任何用户,不必费心,fluffy 会自行负责释放资源。
您的用例的命令:
目录内容-
root@six-k:/opt# ls /opt/*/d1
/opt/d1/d1:
fd1
/opt/dd2/d1:
fd1
/opt/dd3/d1:
调用 fluffy
-
root@six-k:/home/lab/fluffy# fluffy
控制/管理蓬松-
root@six-k:/opt# fluffyctl -W /opt/*/d1
事件-
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
注意:
inotifywait
不优雅,它有错误并报告错误的事件路径。我不想在这里回顾 inotifytools
,但如果您想知道它有什么问题,请查看目录树并在其中执行重命名/移动。稍后在重命名的目录上执行 ls
,查看它报告的路径!
关于linux - Inotify linux 监视子目录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47673447/