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

來源:互聯網
上載者:User

方法1—分割流 

使用cronolog工具切分Tomcat的catalina.out記錄檔 

cronolog一個對日誌切分的小工具,其首頁在http://cronolog.org/,我們也可以用它來切分Apache的日誌。

推薦用此方法,方法如下

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

1.下載cronolog-1.6.2.tar.gz

2.安裝

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

搞定!

預設是安裝在/usr/local/sbin/下.

3.配置

重點來了.注意嘍!!!

在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的服務;

聯繫我們

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