2017-08-07 122 views
0

我試圖刪除基於在shell腳本中使用以下語句創建的日期在unix中的文件夾內容。Unix shell腳本錯誤根據小時查找和刪除

find /mypath -mmin +$((60*24*1)) -exec rm -rf {} \;

我已經配置運行此腳本控制M.這將刪除該文件夾但是腳本錯誤代碼1.如何才能避免錯誤結束,因此我的工作沒有得到失敗了嗎?

find: '/mypath/Xdb/20170802_001028': No such file or directory find: '/mypath/Xdb/20170802_001027': No such file or directory find: '/mypath/Xdb/20170801_142539': No such file or directory

回答

2

我不明白你爲什麼要使用

min +$((60*24*1)) 

使用本:

find /mypath -mtime +1 -exec rm -rf {} \;  

或不檢查這個刪除的目錄是空的或不

find /mypath -mtime +7 -type d -print0 | xargs -0 rm -rf  

+7刪除舊的,然後-7從今天刪除到7

+0

由於它的工作! – Srivatsan

1

除了SamOl的答案,如果你想堅持你原來的命令,那麼你可以告訴Control-M接受字符串沒有這樣的文件或目錄爲「確定」。

要做到這一點只需在作業高清的最後一個選項卡中添加一個On /做動作=

On Do Actions 
Specific statement output  
Statement = *  
Code = *No such file or directory*  
Do = Set job to OK 

這裏有一個YouTube視頻 - https://www.youtube.com/watch?v=Y3S7GdAwjQ8

+0

感謝您的幫助! – Srivatsan