Shell Script自動刪除過期檔案

在Linux進行主機管理,我們需要撰寫Shell Script進行批次管理,

有時是需要自動備份資料庫檔案,有時是自動檢查系統狀況。

通常我們進行備份動作,雖然最好是每天備份,

但如果一段時間累積下來也會造成系統空間的負擔,

所以大部份都是建議「每天備份,最多備份n天之內」。

超過n天的備份檔其實就沒什麼用處,可以刪除,

也可以寫一個Shell Script來幫我們自動刪除。

 

find /tmp/ -type f -name "*.tar" -mtime +14 -exec rm -rf {} \; 

 

先來說明一下相關指令:

find /tmp/ -type f -name "*.tar"

find:尋找

/tmp/:尋找的目的資料夾

-type f尋找的對象是file類型

-name “*.tar”:尋找檔名為.tar結尾的

-mtime  +14 尋找日期超過14天以上的檔案

 

再來介紹後半段:

-exec rm -rf {} \; 

-exec:執行

rm:刪除

-rf:強制刪除

{}:前段find功能找到的所有檔案集合

\;:指令結束

如此一來就可以自動刪除14天前的檔案。

只要把該script加入contab裡面,就可以定期執行囉。

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *