如何控制Tomcat的catalina.out的大小


 catalina.out文件,數據主要來源為:System.out 和 System.err 在控制台上直接輸出的信息。

編碼時應避免使用System.out.println()和e.printStackTrace(),盡量采用logging機制記錄日志。

本文主要說的是采用cronolog工具來分割catalina.out文件

1、工具安裝
提供兩總方式
1)可以直接用yum來安裝,簡單,建議用此方法即可,但是安裝路徑需要用which cronolog查看一下
yum install -y cronolog httpd

2)下載源碼安裝
官方URL:http://cronolog.org/download/index.html
輸入以下步驟:
wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
tar xf cronolog-1.6.2.tar.gz
cd cronolog-1.6.2
./configure
make && make install

用which cronolog可以查到安裝的路徑,默認應該是/usr/local/sbin/cronolog,這個路徑待會在修改catalina.sh時會用到。

2、修改Tomcat啟動腳本catalina.sh
1)
修改:
 if [ -z "$CATALINA_OUT" ] ; then
       CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
為:
    if [ -z "$CATALINA_OUT" ] ; then
      CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
fi

2)刪除生成日志文件
注釋:
touch "$CATALINA_OUT"
   為:
#touch "$CATALINA_OUT"

3)修改啟動腳本參數,應該有兩處
修改:
      org.apache.catalina.startup.Bootstrap "$@" start \
      >> "$CATALINA_OUT" 2>&1 "&"
為:     
org.apache.catalina.startup.Bootstrap "$@" start 2>&1 \
| /usr/sbin/cronolog "$CATALINA_OUT" >> /dev/null &

注意:/usr/sbin/cronolog這個地址要使用which cronolog查看的為准

3、重啟Tomcat
Tomcat輸出日志文件分割成功,輸出log文件格式為:catalina.2020-01-09.out類型。

4、編寫shell腳本,保存至/home/java/auto_del_log.sh文件(地址隨意),腳本內容如下:
find /home/java/tomcat-admin/logs -name "*.out" -type f -mtime +30 -exec rm -rf {} \; >/dev/null 2>&1

5 配置cron,定時刪除 自動刪除30天以前的out日志文件即可,如果沒有cron,自行百度安裝
crontab -e
將 0 3 * * * /home/java/auto_del_log.sh 添加到任務后面
:wq 保存退出

6 最后 最好重啟一下cron任務 

service crond restart

大功告成,這樣再也不用擔心日志不斷變大,導致硬盤變滿了!!!

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM