linux下tomcat日誌切割
在Linux系統下,tomcat日誌預設輸出到catalina.out,隨著時間的推移,catalina.out會持續增大,不方便管理和查詢。本文將介紹如何用 cronolog工具進行日誌按日期分割。
一、安裝cronolog
1、wget http://cronolog.org/download/cronolog-1.6.2.tar.gz
2、解壓縮 tar zxvf cronolog-1.6.2.tar.gz
3、cd cronolog-1.6.2
4、執行安裝
./configure
make && make install
5、檢視cronolog安裝後所在目錄(驗證安裝是否成功)
# which cronolog
一般情況下顯示為:/usr/local/sbin/cronolog
二、進入Tomcat的bin目錄,開啟catalina.sh檔案,修改下面行中的內容:
1、把touch "$CATALINA_OUT"這行註釋掉
2、只需要把else後的
org.apache.catalina.startup.Bootstrap "[email protected]" start \
>> "$CATALINA_OUT" 2>&1 "&"
改為:
org.apache.catalina.startup.Bootstrap "[email protected]" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
# touch "$CATALINA_OUT"
if [ "$1" = "-security" ] ; then
if [ $have_tty -eq 1 ]; then
echo "Using Security Manager"
fi
shift
eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $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 "
>> "$CATALINA_OUT" 2>&1 "&"
else
eval \"$_RUNJAVA\" \"$LOGGING_CONFIG\" $LOGGING_MANAGER $JAVA_OPTS $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 "[email protected]" start 2>&1 \
| /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out >> /dev/null &
3、重啟tomcat,檢視是否生效