观察 Linux 中网络文件夹中文件何时被创建

观察 Linux 中网络文件夹中文件何时被创建

我正在尝试找出一种方法来通知何时在挂载的网络文件夹中写入某个文件。我知道可以不断探测该位置以查看它是否已创建,但这非常好。我还知道可以使用 inotify 及其衍生产品(如 iwatch 和 inotify-tools)来查找内核标志。但是,它是一个网络文件夹,挂载文件夹的计算机上不会出现标志。

所以我想知道是否还有其他方法可以做到这一点。我在想也许可以使用像 RabbutMQ 这样的消息队列。检查文件何时写入并将消息发送到队列,然后在已安装的机器上读取消息并执行任何操作?

答案1

如果你认为 inotify 工具套件不适合这里,并且你使用的是 Linux,请尝试监控存在或文件系统测试针对远程共享。

 check file with path /nfs/appdata.txt
   if does exist then alert 

也许是清洁工例如这里. 文件名是否已知?

答案2

当服务器上的挂载目录发生变化时,客户端无法收到通知(nfs v4.1 规范中有办法做到这一点,但没有实现这一点)。您必须进行轮询。

如果您可以在服务器上运行特殊的应用程序,那么您可以使用类似 lsync 的功能并使用自定义处理程序以您选择的机制通知客户端。

相关内容