2012-10-15 340 views
0

我认为这将是相当容易,但事实证明,它不是。inotify与网络服务器

我有一个安装的网络服务器,其上运行着inotifywatch,正在观看一个文件夹。我想要设置此设置,以便网络上访问此服务器的任何人都可以将文件放入监视的文件夹并让其执行脚本。不幸的是,除非文件在服务器上移动,否则它不会触发。

是否有任何方法可以使inotify以某种方式观察文件夹,如果任何文件从任何地方触发inotify事件?还是我应该看看别的东西?

供参考,在这里是我使用的shell脚本是什么:

inotifywait -m --format '%f' -e moved_to "/mnt/server/folder/" | 
while read NAME 
do 
    echo $NAME 
done 
+0

@ jwpat7没有事件被触发。我将代码更改为'inotifywait -m --format'%e'“/ mnt/server/folder /',并将文件从我的机器移动到服务器监视目录,并且没有触发事件。服务器到监视目录,并得到了一个'moved_to'事件,就像我期望的那样。值得注意的是,当事件被触发时,我被SSH进入移动文件。在Finder中拖放)没有事件触发 – Samsquanch

+0

如果在您的计算机上,当服务器上运行inotifywait时,将其拖放到watch文件夹中,是否会inotifywait报告事件? –

+0

请参阅http://stackoverflow.com/questions/ 4231243/inotify的与 - NFS – iruvar

回答

0

我结束了在cron作业设置rsynch从网络上每隔几分钟过来的文件夹复制,然后使用inotifywatch从那里拿起新的文件。