tomcat日誌自動清理

2021-08-14 04:37:02 字數 1844 閱讀 1164

linux是乙個很能自動產生檔案的系統,日誌、郵件、備份等。雖然現在硬碟廉價,我們可以有很多硬碟空間供這些檔案浪費,讓系統定時清理一些不需要的檔案很有一種爽快的事情。不用你去每天惦記著是否需要清理日誌,不用每天收到硬碟空間不足的報警簡訊,想好好休息的話,讓我們把這個事情交給機器定時

去執行吧。

1.檔案命令:

①刪除檔案命令:find 對應目錄 -mtime +天數 -name "檔名" -exec rm -rf {} \;

②清空檔案命令:find 對應目錄 -mtime +天數 -name "檔名" -exec echo "" > {} \;

例項命令:

find /opt/

soft

/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

說明:將/opt/

soft

/log/目錄下所有30天前帶".log"的檔案刪除

。具體引數說明如下:

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

;/opt/

soft

/log/:想要進行清理的任意目錄

;-mtime:標準語句寫法

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

;"*.

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

;-exec:固定寫法

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

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

2.計畫任務:

若嫌每次手動執行語句太麻煩,可以將這小語句寫到乙個可執行

shell指令碼

檔案中,再設定cron排程執行,那就可以讓系統自動去清理相關檔案。

2.1建立shell:

touch /opt/

soft

/bin/auto-del-30-days-ago-log.sh

chmod +x auto-del-30-days-ago-log.sh

新建乙個可執行檔案auto-del-30-days-ago-log.sh

,並分配可執行許可權

2.2編輯shell指令碼:

vi auto-del-30-days-ago-log.sh

編輯auto-del-30-days-ago-log.sh檔案如下:

#!/bin/sh

find /opt/

soft

/log/ -mtime +30 -name "*.log" -exec rm -rf {} \;

ok,儲存退出(:wq)

2.3計畫任務:

#crontab -e

將auto-del-30-days-ago-log.sh執行指令碼加入到系統計畫任務,到點自動執行

輸入:10 0 * * * /opt/

soft

/log/auto-del-7-days-ago-log.sh >/dev/null 2>&1

這裡的設定是每天凌晨0點10分執行auto-del-7-days-ago-log.sh檔案進行資料清理任務

了。完成以上三步,你就再也不每天惦記是否硬碟空間滿了,該清理日誌檔案了,再也不會受到伺服器硬碟空間不足的報警資訊了,放心的去看書喝咖啡去吧!

Tomcat 自動清理日誌和快取

改方案針對apache tomcat 9.0.17版本 1 在tomcat conf logging.properties檔案下修改 maxdays 系統預設是90天,對於高併發大訪問量的服務,將儲存的天數設定為最短。2 將level級別設定成warning就可以大量減少日誌的輸出,一般日誌的級別有...

logrotate 清理tomcat日誌

rsyslog tomcat 伺服器 192.168.32.215 input type imfile file usr local apache tomcat 7.0.55 8082 logs catalina.out tag zjtest api01 severity info facility...

IIS日誌自動清理

iis在執行的過程中日誌會不停地增長,若iis的 被頻繁的呼叫或不當的呼叫,則會產生很多日誌。對於系統盤或者磁碟空間不夠的伺服器來說。iis日誌自動清 理則非常有必要。指令碼如下 1,檔名 rmiislog.js 指令碼內容 function dellogfile beforedays dellog...