色综合图-色综合图片-色综合图片二区150p-色综合图区-玖玖国产精品视频-玖玖香蕉视频

您的位置:首頁技術文章
文章詳情頁

Tomcat解決catalina.out文件過大的問題

瀏覽:213日期:2023-03-19 16:51:38
目錄
  • 前言
  • 暴力型
  • 技術型

前言

有用Tomcat的,絕對都會遇到這樣一個問題:catalina.out文件過大。

它是Tomcat默認生成的日志文件,會隨著時間的推移,逐漸增大,不斷的增長,甚至達到幾G,幾十G的大小。由于文件過大,不僅占系統的存儲,我們還將無法使用過常規的編輯工具進行查看,嚴重影響系統的維護工作。

對此,出現了以下幾種解決catalina.out文件過大的方案。

暴力型

除非不需要日志,否則不建議使用

1.手動版

每次監控到tomcat的硬盤空間變小達到閾值,手動登陸服務器,切換到tomcat的logs下,手動清空

echo " " ?> catalina.out

2.腳本版

編寫腳本,放入計劃任務中,定時清空

crontab -e?
0 24 * * * ? ?sh /root/qin_catalina.out.sh

vim qin_catalina.out.sh
?#!/usr/bin/bash?
?echo " " > catalina.out

技術型

1.日志切割工具版0.1

使用cronolog日志切分工具切分Tomcat的catalina.out日志文件

<1>下載cronolog,并進行安裝

wget http://cronolog.org/download/cronolog-1.6.2.tar.gz ? (中國服務器可能無法下載或下載緩慢,可先下載到境外服務器上)

tar zxvf cronolog-1.6.2.tar.gz

./cronolog-1.6.2/configure

make

make install

(默認安裝在/usr/local/sbin下)

<2>.配置

在tomcat/bin/catalian.sh中

org.apache.catalina.startup.Bootstrap "$@" start \ >> "$CATALINA_BASE"/logs/catalina.out 2&1 &

改成:
org.apache.catalina.startup.Bootstrap"$@" start \ |/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null 2>&1 &
或
org.apache.catalina.startup.Bootstrap ? "$@" ?start ?2>&1 ?\ ? | ?/usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &?

并注釋 ? ?touch "$CATALINA_OUT" ?

<3>重啟Tomcat

Tomcat輸出日志文件分割成功,輸出log文件格式變為:catalina.2017-05-15.out

1.日志切割工具版0.2

CentOS6.5后自帶logrotate程序,可以解決catalina.out的日志輪轉問題

<1>在/etc/logrotate.d/目錄下新建一個tomcat的文件

cat >/etc/logrotate.d/tomcat?

/usr/local/tomcat/logs/catalina.out{ ? ? ? ? ? ?要輪轉的文件
? ? copytruncate ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?創建新的catalina.out副本,截斷源catalina.out文件
? ? daily ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 每天進行catalina.out文件的輪轉
? ? rotate 7 ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?至多保留7個副本
? ? missingok ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? 文件丟失了,輪轉不報錯
? ? compress ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?使用壓縮
? ? size 500M ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?當catalina.out文件大于16MB,就輪轉
}

其他參數:

compress                                   通過gzip 壓縮轉儲以后的日志
nocompress                                 不做gzip壓縮處理
copytruncate                               用于還在打開中的日志文件,把當前日志備份并截斷;是先拷貝再清空的方式,拷貝和清空之間有一個時間差,可能會丟失部分日志數據。
nocopytruncate                             備份日志文件不過不截斷
create mode owner group                    輪轉時指定創建新文件的屬性,如create 0777 nobody nobody
nocreate                                   不建立新的日志文件
delaycompress                              和compress 一起使用時,轉儲的日志文件到下一次轉儲時才壓縮
nodelaycompress                            覆蓋 delaycompress 選項,轉儲同時壓縮。
missingok                                  如果日志丟失,不報錯繼續滾動下一個日志
errors address                             專儲時的錯誤信息發送到指定的Email 地址
ifempty                                    即使日志文件為空文件也做輪轉,這個是logrotate的缺省選項。
notifempty                                 當日志文件為空時,不進行輪轉
mail address                               把轉儲的日志文件發送到指定的E-mail 地址
nomail                                     轉儲時不發送日志文件
olddir directory                           轉儲后的日志文件放入指定的目錄,必須和當前日志文件在同一個文件系統
noolddir                                   轉儲后的日志文件和當前日志文件放在同一個目錄下
sharedscripts                              運行postrotate腳本,作用是在所有日志都輪轉后統一執行一次腳本。如果沒有配置這個,那么每個日志輪轉后都會執行一次腳本
prerotate                                  在logrotate轉儲之前需要執行的指令,例如修改文件的屬性等動作;必須獨立成行
postrotate                                 在logrotate轉儲之后需要執行的指令,例如重新啟動 (kill -HUP) 某個服務!必須獨立成
daily                                      指定轉儲周期為每天
weekly                                     指定轉儲周期為每周
monthly                                    指定轉儲周期為每月
rotate count                               指定日志文件刪除之前轉儲的次數,0 指沒有備份,5 指保留5 個備份
dateext                                    使用當期日期作為命名格式
dateformat .%s                             配合dateext使用,緊跟在下一行出現,定義文件切割后的文件名,必須配合dateext使用,只支持 %Y %m %d %s 這四個參數
size(或minsize) log-size                   當日志文件到達指定的大小時才轉儲,log-size能指定bytes(缺省)及KB (sizek)或

<2>當執行以上操作時是自動執行的,也可手動切割

logrotate /etc/logrotate.conf

如果只輪轉tomcat配置文件,要指定文件

logrotate --force /etc/logrotate.d/tomcat

<3>刪除要清理的日志

手工查找需要清理的日志文件

cd /usr/local/tomcat/logs
rm -rf catalina.out.4.gz

2.日志切割腳本版

使用cron每天來定時備份當前的catalina.out,然后清空他的內容;

<1>crontab -e

01 0 * * * ?sh /root/qie_catalina.out.sh

<2>cat qie_catalina.out.sh 參考腳本

?#!/bin/bash?
?DATE=`date "+%Y-%m-%d"`

cp /etc/tomcat/logs/catalina.out ?/etc/tomcat/logs/`catalina.out.$DATE`
wait

echo " " > catalina.out

3.修改日志級別版

日志級別:

SEVERE (highest value) > WARNING > INFO > CONFIG > FINE > FINER > FINEST (lowest value)

<1>修改conf/logging.properties日志配置文件,將level級別設置成WARNING減少日志的輸出。也可以設置成OFF,直接禁用。

catalina.org.apache.juli.FileHandler.level = WARNING

catalina.org.apache.juli.FileHandler.directory = ${catalina.base}/logs

catalina.org.apache.juli.FileHandler.prefix = catalina.

到此這篇關于Tomcat解決catalina.out文件過大的問題的文章就介紹到這了,更多相關Tomcat catalina.out文件過大內容請搜索以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持!

標簽: Tomcat
主站蜘蛛池模板: 欧美成人中文字幕 | 日本特黄网站 | 不卡的毛片 | 黄色一级片在线看 | 国产成人精品视频午夜 | 午夜成人影视 | 中文字幕一二三区乱码老 | 日韩高清免费观看 | 成a人片亚洲日本久久 | 九九视频免费在线观看 | 日韩久久中文字幕 | 婷婷亚洲久悠悠色在线播放 | 成人午夜做爰视频免费看 | 久久久久久免费播放一级毛片 | 久久午夜国产片 | 国产精自产拍久久久久久 | 97国产在线播放 | 丰满寡妇一级毛片 | 国产一区二区三区免费在线视频 | 国产一级做a爰片久久毛片 国产一级做a爰片久久毛片99 | 国产精品久久一区一区 | 99精品视频在线观看免费 | 国产a不卡| 午夜成年女人毛片免费观看 | 欧美精品久久久久久久免费观看 | 欧美日韩a∨毛片一区 | 亚洲a级 | 欧美极度极度另类 | 三级全黄视频 | 国产日韩精品视频一区二区三区 | 国产一区二区三区四区五区tv | 韩国女主播青草在线观看 | 狠狠色丁香婷婷综合小时婷婷 | 亚洲第一成年免费网站 | 精品视频一区在线观看 | 亚洲一区二区欧美 | 精品国产一二三区在线影院 | 国产视频自拍偷拍 | 久久香蕉国产线看观看亚洲片 | 国产精品免费一级在线观看 | 国产农村一二三区 |