linux下自動刪除過期檔案命令

tolilong發表於2012-11-19
linux下自動刪除過期檔案命令[@more@]
語句寫法:

find 對應目錄 -mtime +天數 -name "檔名" -exec rm -rf {} ;


例1:

find /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace -mtime +8 -name "orcl*" -exec rm -rf {} ;

將/home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace目錄下所有8天前帶"orcl"的檔案刪除

find:linux的查詢命令,使用者查詢指定條件的檔案

/home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace:想要進行清理的任意目錄

-mtime:標準語句寫法

+8:查詢10天前的檔案,這裡用數字代表天數,+30表示查詢30天前的檔案

"orcl":希望查詢的資料型別,"*.jpg"表示查詢副檔名為jpg的所有檔案,"*"表示查詢所有檔案,這個可以靈活運用,舉一反三

-exec:固定寫法

rm -rf:強制刪除檔案,包括目錄

{} ; :固定寫法,一對大括號+空格++;

若嫌每次手動執行語句太麻煩,可以將這小語句寫到一個可執行檔案中,再設定cron排程執行,那就可以讓系統自動去清理相關檔案。

例2:
1).#touch /usr/local/bin/clear

#chmod 777 clear

新建一個可執行檔案clear

2).vi clear

編輯clear檔案如下:

#!/bin/sh
find /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace -mtime +8 -name "orcl*" -exec rm -rf {} ;

ok,儲存退出

3).#crontab -e

將clear檔案加入到系統計劃任務,到點自動執行

輸入:

* 2 * * */usr/local/bin/clear

這裡的設定是每天凌晨2點執行clear檔案進行資料清理,可以研究一下cron,制定自己需要的計劃任務

示例:

#!/bin/sh
find /home/oracle/app/oracle/diag/rdbms/orcl/orcl/trace -mtime +8 -name "orcl*" -exec rm -rf {} ;

exit

來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/24237320/viewspace-1059795/,如需轉載,請註明出處,否則將追究法律責任。

相關文章