linux自動刪除n天前備份

來源:互聯網
上載者:User

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

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

ok,儲存退出

3.#crontab -e
將clear檔案加入到系統計劃任務,到點自動執行

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

 

樣本:

#!/bin/sh
find /usr/local/jboss-4.2.3.GA/server/default/log -mtime +6 -name "server.log.*" -exec rm -rf {} \;
exit

[root@web3 ~]# crontab -l
* 2 * * * sh /root/AutoDelLog.sh

相關關鍵詞:
相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.