2011-07-06 58 views
1

如何編寫一個只能從超過1小時的文件夾中刪除文件的shell腳本?Shellscript - 檢查一個文件夾並刪除該文件夾內早於一個小時的文件

這是我到目前爲止有:

find /path/to/folder -mtime +1 -exec rm {}\; 

但是,這裏有2個問題:
1 +1其實每天不小時
2.當我運行該腳本,我得到這個錯誤。找到:-exec:no terminating「;」或「+」

我打算通過cron運行,我正在從mac終端進行測試。

感謝,
三通

+2

您需要{}和\之間的空間; –

回答

3

使用-mmin,而不是-mtime

我將它改寫爲:

find /folder -mmin +60 -delete 

如果您發現不支持-delete使用:

find /folder -mmin +60 -exec rm {} + 
0

T RY這個腳本

HOUR=`/bin/date +%k` 

HOUR=`expr $HOUR - 01` 

HOUR=`printf "%02d" $HOUR` 

MIN=`/bin/date +%M` 

DAY=`/bin/date +%Y%m%d` 


touch -t $DAY$HOUR$MIN /tmp/t.tmp 

find /path/to/folder -type f ! -newer /tmp/t.tmp -exec ls -lt {} + 

find /path/to/folder -type f ! -newer /tmp/t.tmp -exec ls -lt {} \; 
相關問題