2009-01-06 68 views
1

我有這樣的命令,我通過cron每天運行:定時任務 - 命令刪除所有文件的FLV每天

find /home/get/public_html/videos -daystart -maxdepth 0 
-mtime +1 -type f -name "*.flv" |xargs rm -f 

的問題是,它並沒有在目錄中是刪除的FLV文件1天或更多天。

如何糾正上述命令?

編輯:保羅 - 命令「ls -l /家庭/獲得/的public_html /視頻」導致2000+的文件,但這裏是他們的2應刪除:

-rw-r--r-- 1 get get 3501188 Jan 4 15:24 f486cf0a2b6bb40e4c50c991785084131231104229.flv 
-rw-r--r-- 1 get get 10657314 Jan 4 17:51 f5f1490ddaa11a663686f9d06fb37d981231112941.flv 
+0

它是做什麼的?它刪除舊文件,不刪除文件,給出錯誤....? – 2009-01-06 11:18:27

+0

它不會刪除任何內容,它不會返回任何內容,因爲我認爲它沒有找到任何內容。雖然沒有錯誤。 – Abs 2009-01-06 11:26:06

+0

您可以將ls -l/home/get/public_html/videos的結果添加到您的問題中嗎? – 2009-01-06 11:30:46

回答

3

這是更好地使用如果一個文件具有不常見的名稱,則在find中選擇-print0並在xargs中選擇-0。

另外,您希望使用-maxdepth 1在指定的目錄中實際查找某些內容。

-maxdepth 0意味着它只能在命令行中列出的目錄中找到,它不會檢查這些目錄的內容。

1

您的意思是,如果您有一個目錄/home/get/public_html/videos/foo它不會刪除它們中的文件?那將是因爲你有-maxdepth 0參數集,這可以防止find降序到子目錄中。

1
-maxdepth 1 
相關問題