【发布时间】:2012-05-13 03:01:05
【问题描述】:
我在 Mac 上。我一直在使用 Launchd 的 WatchPaths 指令来监视目录中的文件更改。我的脚本仅在从监视目录中添加或删除文件时触发。
但是,修改文件时脚本不会触发..
基本上,我正在尝试创建一个 DIY Dropbox 来同步我的站点文件夹。
有没有办法通过 launchd、bash 或 python 来做到这一点?
我认为linux有类似inotify的东西,但我不知道mac的解决方案。
【问题讨论】:
-
理想情况下,我不想每 n 秒轮询一次更改...
-
我知道的唯一解决方案是轮询。可以在此处找到我建议的方法示例:github.com/jessemiller/HamlPy/blob/… -- 我很想看看是否有人可以提供替代方法!
-
MacOS 支持 FreeBSD 风格的
kqueue,在各方面与inotify相似。如何真正让它工作,我不知道。 :-) -
github.com/mynyml/watchr 是 Ruby 世界中这类事情的事实标准。对于 OS X,它依赖于 github.com/sandro/ruby-fsevent,这是一个暴露 OS X FSEvent API 的 Ruby 扩展。在 PyPI 上的搜索显示了一个 Python 等效项:pypi.python.org/pypi/MacFSEvents/0.2.1——也许这可能是要走的路?
-
也许Watchdog 会做你想做的事?