在 Linux 上通过 NFS 触发 inotify 事件?
Posted
技术标签:
【中文标题】在 Linux 上通过 NFS 触发 inotify 事件?【英文标题】:trigger inotify event over NFS on Linux? 【发布时间】:2015-03-16 08:46:54 【问题描述】:我可以在 Linux 上触发文件系统事件,而无需实际更改文件吗? 是否有一些系统调用就像文件被写入一样? 这甚至可能吗?
当服务器站点上的文件发生更改时,我安装了 NFS 共享并希望在虚拟机中获取 inotify
事件。
inotify
似乎不适用于 NFS。
有没有支持inotify
的网络文件系统?
在服务器端监控事件很容易,但是如何在客户端触发事件呢?那时我做了一个简单的touch
,但这并不理想。
(用例是使用 docker(boot2docker,OS X)进行本地开发。)
【问题讨论】:
也许您可以尝试创建(然后删除?)符号链接? 【参考方案1】:抱歉,这不是一项功能。
您可以通过使用 incrond 来监控本地文件系统来实现某种信号量,然后在远程机器上执行一些操作(触摸文件、触发脚本等)以告诉它有更新,但没有NFS 中的本机功能。
【讨论】:
【参考方案2】:现在我正在使用 Docker for Mac。由于 osxfs 的文件共享性能不佳,我仍然使用 NFS。我写了一个 sublime text 3 插件,自动进行触摸,这解决了我的用例。
sublime text 3 插件:sublime_d4m docker for mac 中的 nfs 服务器:d4m-nfs【讨论】:
以上是关于在 Linux 上通过 NFS 触发 inotify 事件?的主要内容,如果未能解决你的问题,请参考以下文章