shell編程tmpwatch

來源:互聯網
上載者:User

標籤:

         作為系統管理員,很多時候需要定期清理一定規則的檔案,比如到期的日誌,到期的歸檔,已備份的檔案等等。

        如果使用一定的匹配規則,找出這些檔案,然後再傳遞給rm命令,其實是有點麻煩的,這時候可以試試tmpwatch。

        tmpwatch

作用:

       刪除一定時間沒有被訪問的檔案。

參數:

     -u  按照檔案的最後access時間,即最後訪問時間為參考。可通過ls -lu查看。

     -m  按照檔案的最後modified時間,即最後修改時間為參考。可通過ls -l查看。

      -c   按照檔案的-ctime時間做參考,ctime更新的條件為寫入、更改屬主、許可權。可通過ls -lc查看。

      -x  /PATH  排除特定目錄,即不刪除該子目錄裡的檔案。

      -U  user_name  排除屬於特定使用者的檔案,即不刪除該使用者的檔案。

      -v  顯示刪除過程。預設是不顯示刪除了什麼檔案,直接刪除的。

      --t   用於測試,並不真正刪除檔案,能顯示出要刪除檔案的過程。

      -d  不刪除檔案裡的子目錄,但是子目錄裡面的檔案還是會被刪除。

      -f   強制移除那些root沒有寫入權限的檔案。比如root的readonly檔案

      參數後加時間,預設是hours。有些文章說可以使用20d表示20天,這個我也見過,但在rhel5.8中,只支援hours。應該需要看版本。

      時間後是要檢查的目錄。可以多個目錄用空格分開。


     瞭解參數命令後,舉一個典型的例子

        tmpwatch -m -x /tmp/ceshi1 -U oracle -v -t  2  /tmp

      以上這個命令刪除/tmp目錄下超過兩個小時沒有被更改過且不屬於oracle使用者的檔案,排除/tmp/test1子目錄下的檔案。顯示整個刪除過程,只做測試,不整整刪除。


linux系統會使用這個命令來定時清理/tmp目錄。

下面看下rhel5.8裡的/etc/cron.daily/tmpwatch檔案。

[[email protected] tmp]# cat /etc/cron.daily/tmpwatch flags=-umc/usr/sbin/tmpwatch "$flags" -x /tmp/.X11-unix -x /tmp/.XIM-unix         -x /tmp/.font-unix -x /tmp/.ICE-unix -x /tmp/.Test-unix         -X '/tmp/hsperfdata_*' 240 /tmp/usr/sbin/tmpwatch "$flags" 720 /var/tmpfor d in /var/{cache/man,catman}/{cat?,X11R6/cat?,local/cat?}; do    if [ -d "$d" ]; then        /usr/sbin/tmpwatch "$flags" -f 720 "$d"    fidone[[email protected] tmp]# 

這就是清理規則。懂文法了可以自己學習下。

shell編程tmpwatch

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.