在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裡面,就可以定期執行囉。