2012-10-15 50 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從那裏拿起新的文件。