歡迎您光臨本站 註冊首頁

linux自動刪除n天前備份

←手機掃碼閱讀     火星人 @ 2014-03-09 , reply:0

  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

  這樣每天晚上2點執行這個腳本,腳本是刪除6天前的文件


[火星人 ] linux自動刪除n天前備份已經有1422次圍觀

http://coctec.com/docs/linux/show-post-52411.html