Linux下Tomcat日誌分割

本文主要講述使用cronolog分割tomcat的catalina.out文件。

1. 下載編譯安裝

wget https://files-cdn.cnblogs.com/files/shidian/cronolog-1.6.2.tar.gz
tar zxvf cronolog-1.6.2.tar.gz 
cd cronolog-1.6.2./configure 
make 
make install

 2. 查看cronolog安裝後所在目錄(驗證安裝是否成功)

which cronolog
一般情況下顯示爲:/usr/local/sbin/cronolog

 如下圖所示:

3. 編輯Tomcat目錄bin下的catalina.sh文件

找到下面這個,類似這樣的行有2處:

org.apache.catalina.startup.Bootstrap "$@" start \
>> "$CATALINA_OUT" 2>&1 "&"

 

第一處:Tomcat是帶"-security"參數的啓動。

第二處:默認Tomcat啓動方式,也就是else下面那部分,我們只修改這裏。

另外還要把touch "$CATALINA_OUT"這樣註釋掉。

修改後的結果如下所示:

複製代碼

#  touch "$CATALINA_OUT"
  if [ "$1" = "-security" ] ; then
    if [ $have_tty -eq 1 ]; then
      echo "Using Security Manager"
    fi
    shift
    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
      -D$ENDORSED_PROP="\"$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_OUT" 2>&1 "&"

  else
  
#    eval $_NOHUP "\"$_RUNJAVA\"" "\"$LOGGING_CONFIG\"" $LOGGING_MANAGER $JAVA_OPTS $CATALINA_OPTS \
#      -D$ENDORSED_PROP="\"$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_OUT" 2>&1 "&"


    "$_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 "$@" start 2>&1 | /usr/local/sbin/cronolog /opt/tomcat/apache-tomcat-9.0.13/logs/catalina.%Y%m%d.out >> /dev/null &
  fi

複製代碼

 

將原來else的腳本屏蔽掉,加入後面的這段代碼。

4. 重啓Tomcat

重啓後logs目錄如下所示:

配置cronolog完成了,觀察每天是否有個新的catalina.yymmdd.out的日誌文件生成,定期刪除日期較舊的日誌文件。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章