2014-06-07 163 views
1

我使用下面的crontab,一小時一次,移動任何文件從目錄「webupload」的.mp3擴展名的目錄「完整」:crontab將完成的上傳從一個目錄移動到另一個目錄?

60 * * * * find usr/webupload -type f -maxdepth 1 -name "*.mp3" -exec mv {} usr/webupload/complete \; 

的問題是,「webupload」包含大量正在傳輸的部分文件。

我已閱讀了很多不同的方法來實現這一目標,但我認爲我比現在開始時更困惑了!

什麼是隻移動已完成上傳的最佳實踐或最簡單的方法?

非常感謝:)

回答

2

這將是很難說當一個文件被完全寫入,除非在完成下載時,它被重命名,但你可以改變你的find命令,並添加-mmin +1,使其只外觀對於已經被修改超過1分鐘前的文件(這意味着下載可能完成)。如果你想更加確定

60 * * * * find /usr/webupload -type f -mmin +1 -maxdepth 1 -name "*.mp3" -exec mv {} /usr/webupload/complete \; 

你可以明顯地使修改時間更長:此外,你應該在你的路徑開始使用/,而不是相對路徑的使用(如10分鐘-mmin +10。)該文件已被下載。

相關問題