Linux下tomcat的catalina.out文件過大,以及目錄更改解決辦法

方法1—分割流 

使用cronolog工具切分Tomcatcatalina.out日誌文件 

cronolog一個對日誌切分的小工具,其主頁在http://cronolog.org/,咱們也能夠用它來切分Apache的日誌。java

推薦用此方法,方法以下linux

先google一下.cronolog-1.6.2.tar.gzapache

1.下載cronolog-1.6.2.tar.gztomcat

2.安裝bash

# tar zxvf cronolog-1.6.2.tar.gz
# cronolog-1.6.2/configure
# make
# make install工具

搞定!測試

默認是安裝在/usr/local/sbin/下.google

3.配置spa

重點來了.注意嘍!!!日誌

在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 &

修改好了.重啓

#./catalina.sh start

現去看看勞動成果吧.

# ls /tomcat/logs/

就會發現logs下面多了幾個如同catalina.2006.06.01.log的文件了.


方法2—腳本流 

事情終究不過是個大文件處理的問題,強大的bash來搞定; 
使用cron天天來備份當前的catalina.out,而後清空他的內容; 

參考腳本以下: 

#!/bin/sh 
y=`date "+%Y"` 
m=`date "+%m"` 
d=`date "+%d"` 
cd /PATH /tomcat/logs 
cp catalina.out catalina.out.$y$m$d 
echo 
> catalina.out
 
exit 
注意linux系統的cron服務是否啓動,是否正常工做,還有腳本的存放路徑(緣由暫保密) 

方法3—猥瑣流 

打開bin目錄下的catalina.sh文件,終究不過是個bash文件, 

查找一下,catalina.out總共出現三次; 

部分截圖: 


shift
 

touch "$CATALINA_BASE"/logs/catalina.out
 

if [ "$1" = "-security" ] ; then
 

echo "Using Security Manager"
 

shift
 

"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
 

-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
 

-Djava.security.manager \
 

-Djava.security.policy=="$CATALINA_BASE"/conf/catalina.policy \
 

-Dcatalina.base="$CATALINA_BASE" \
 

-Dcatalina.home="$CATALINA_HOME" \
 

-Djava.io.tmpdir="$CATALINA_TMPDIR" \
 

org.apache.catalina.startup.Bootstrap "$@" start \
 

>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
 


if [ ! -z "$CATALINA_PID" ]; then
 

echo $! > $CATALINA_PID
 

fi
 

else
 

"$_RUNJAVA" $JAVA_OPTS "$LOGGING_CONFIG" $CATALINA_OPTS \
 

-Djava.endorsed.dirs="$JAVA_ENDORSED_DIRS" -classpath "$CLASSPATH" \
 

-Dcatalina.base="$CATALINA_BASE" \
 

-Dcatalina.home="$CATALINA_HOME" \
 

-Djava.io.tmpdir="$CATALINA_TMPDIR" \
 

org.apache.catalina.startup.Bootstrap "$@" start \
 

>> "$CATALINA_BASE"/logs/catalina.out 2>&1 &
 
我的以爲也就是這裏是寫catalina.out文件的;讓他寫到一個其餘的空設備如何? 

修改前注意原文件的catalina.sh的備份喲~!! 

修改以上代碼中的 

>> "$CATALINA_BASE"/logs/catalina.out 2>&1 & 
爲 

>> /dev/null 2>&1 & 
保存,而後啓動tomcat,目前這個 catalina.out一直是空的了。 

這個方法是偶本身想到的,我的認爲比較勇敢,目前尚未在生產環境測試過。虛擬機測試是經過的。 

方法4—人流 

這個方法其實就是linux系統管理員手工去刪除,人工操做,簡稱「人流」; 

刪除以前最好中止tomcat的服務;

相關文章
相關標籤/搜索