2016-03-01 23 views
0

我不是Linux的高級用戶,但我正在尋找一些簡單腳本在bash中將以cron或任何其他方式工作,在5-10分鐘時間在時間​​尋找新文件,後新的目錄/文件已經上傳到該目錄腳本將移動新的目錄與文件到其他位置bash&inotify - 監視和移動文件

我發現inotify這可以是一個很好的解決方案,但問題是如何去與它。

+0

http://stackoverflow.com/questions/4062806/inotify-how-to-use-it-linux – ritesht93

+0

但我認爲它不相關的答案爲我的問題。 我正在尋找可以將「新」文件移動到新位置的解決方案。 – jagrok

+0

使用[incron](http://inotify.aiken.cz/?section=incron&page=about&lang=en)。它來自inotify的開發者併爲此目的而製作。無論如何,你的問題太廣泛了。 – hek2mgl

回答

0

我一直在使用inotifywait來識別某些文件系統在特定路徑中發生變化。

看看: http://linux.die.net/man/1/inotifywait

可以在什麼樣的變化,你有興趣(刪除,創建,修改等)以及是否腳本應該輸出,或乾脆退出更改後指定。

我一直在使用這個工具的方式,我的腳本開始inotifywait,當它存在時,做一些操作並重新啓動inotifywait。

希望這會有所幫助。 馬丁

+0

我基於互聯網上的許多信息創建了類似的東西,但可惜的是如何處理包含一些文件的目錄。 'cd「$ dir」' 'inotifywait -m -r -q -e close_write --format%f。 |而IFS =讀取-r文件;'do 'mv -p「$ file」「$ target」' 'echo「$ file已被複制到$ target」' 'done' – jagrok

+0

對不起,我沒有理解 - 「如何處理包含一些文件的目錄」?你什麼意思?有什麼問題? –

+0

再次確定。 我有一些目錄稱爲例如「上傳」 我想監視此目錄的一些更新。 此目錄不時會包含這些目錄中的文件和目錄以及文件。 /uploaded/directory/file1.mpg /uploaded/directory/file2.txt /uploaded/directory2/file.avi /uploaded/directory3/file4.mpeg 那麼這個文件應該以自己的結構被移到所有文件操作完成後的新位置。 /moved/directory/file1.mpg /moved/directory/file2.txt /moved/directory2/file.avi /moved/directory3/file4.mpeg – jagrok