我有一个名为 /media/simc/ 的目录,我想设置一些内容来监视 /media/simc/ ,当将文件放入其中时(从本机或网络上的任何其他机器),它是一个网络安装的dir 本身),我想获取该文件并用它做一些事情(“东西”,在这种情况下意味着读取内容并将它们传递给命令)(我还想从手表中排除特定的文件名,比如 notetest.dir )。 TXT)
问题是我不知道这个文件将被命名什么,但我确实知道它不会被命名的一件事是我需要排除的,而且我对我一般在做什么一无所知。
我认为 inotifywait 是经过一些谷歌搜索后的答案,并为自己设置了一个快速演示,只是为了测试它会看到我放入其中的内容并执行...stuff inotifywait -m /media/simc/ -e create (也尝试过移动到但实际上并不相关)
然后在目录中创建了一个文件......什么也没有。经过一些故障排除后,我发现我必须通过机器本身在其中创建一个文件,而我的用例是我在网络上有这个目录可用,并且将从其他机器将文件移入其中,当我这样做时,这似乎并不存在处理输出。
因此,使用 nano test 给了我我想要的: /media/simc/ CREATE .test.swp 但是当我将文件移动到目录中或从另一台机器在其中创建一个文件时,没有骰子。
我有什么选择?
答案1
我认为 inotify 会做你想做的事,但你必须在导出文件的服务器上运行它。 Inotify 与内核交互,因此它无法在 nfs 客户端上工作(我相信)。