天天看點

Linux計劃任務,自動删除n天前的舊檔案【轉】

linux是一個很能自動産生檔案的系統,日志、郵件、備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,但需求總是多方面的嘛~我就覺得讓系統定時清理一些不需要的檔案很有一種爽快的感覺,嘿嘿~~

語句寫法:

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

例1:

find /usr/local/backups -mtime +10 -name "*.*" -exec rm -rf {} \;

将/usr/local/backups目錄下所有10天前帶"."的檔案删除

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

/usr/local/backups:想要進行清理的任意目錄

-mtime:标準語句寫法

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

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

-exec:固定寫法

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

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

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

例2:

1.#touch /usr/local/bin/clear

#chmod 777 clear

建立一個可執行檔案clear

2.vi clear

編輯clear檔案如下:

#!/bin/sh

#ok,儲存退出wq #之後回車

#wq

3.#crontab -e

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

輸入:

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

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

本文轉自張昺華-sky部落格園部落格,原文連結:http://www.cnblogs.com/sky-heaven/p/5885388.html,如需轉載請自行聯系原作者

繼續閱讀