0
我已經在Ubuntu 10.04服務器上設置了一個bash腳本,該腳本在該服務器的./incoming/
目錄中創建PDF時生成新的PDF,新的PDF創建在./outgoing/
文件夾中。這兩個文件夾都在本地計算機上,並與samba 3.4.7共享。該腳本使用inotifywait
來觀察傳入的目錄(根據Script to monitor folder for new files)。共享文件夾上的ionotifywait
inotifywait -m ./incoming/ -e create -e moved_to |
while read path action file; do
echo "The file '$file' appeared in directory '$path' via '$action'"
# Generate PDF using $file into ./outgoing/
done
當我複製一個文件或者使用bash或Windows資源管理器也能正常工作,但是當我在Windows拯救微軟的Outlook(或Word)一test.pdf
附件7客戶端,我收到了幾個激活;
The file './in/test.pdf' appeared in directory './incoming/' via 'CREATE'
The file './in/B90C4C41.tmp' appeared in directory './incoming/' via 'CREATE'
The file './in/BE5AC54E.tmp' appeared in directory './incoming/' via 'MOVED_TO'
The file './in/test.pdf' appeared in directory './incoming/' via 'MOVED_TO'
爲什麼這樣做?我怎樣才能防止它?或者我應該用sleep
解決它並忽略.tmp
文件?