天天看點

Tomcat日志catalina.out分割

Tomcat預設生成的日志檔案catalina.out,随着時間的推移,逐漸增大,可能達到G數量級。檔案過大,我們将無法使用過正常編輯工具檢視,嚴重影響系統維護工作

今天我們使用cronolog工具來做分割

  • cronolog安裝使用

A、 cronolog工具下載下傳

官方URL:http://cronolog.org/download/index.html(可能下載下傳不了,可以找度娘)

B、 cronolog編譯安裝

tar xvf cronolog-.tar.gz
 ./configure
 make
 sudo make install
           

C、 修改Tomcat啟動腳本catalina.sh

1、 修改輸出日志路徑
           
修改:
 if [ -z "$CATALINA_OUT" ] ; then
       CATALINA_OUT="$CATALINA_BASE"/logs/catalina.out
fi
為:
    if [ -z "$CATALINA_OUT" ] ; then
      CATALINA_OUT="$CATALINA_BASE"/logs/catalina.%Y-%m-%d.out
fi
           
2、 删除生成日志檔案
           
注釋:
touch "$CATALINA_OUT"
   為:
#touch "$CATALINA_OUT"
           
3、 修改啟動腳本參數
           
修改:
      org.apache.catalina.startup.Bootstrap "[email protected]" start \
      >> "$CATALINA_OUT" >& "&"
    為:
      org.apache.catalina.startup.Bootstrap "[email protected]" start >& \
      | /usr/local/sbin/cronolog "$CATALINA_OUT" >> /dev/null &
           

D、 重新開機Tomcat

Tomcat輸出日志檔案分割成功,輸出log檔案格式為:catalina.20XX-XX-XX.out類型

  • Linux定時删除檔案

    日志檔案太多了之後需要定時删除

檔案删除指令Find

代碼如下:

find /root/apache-tomcat-/logs -type -f -mtime + -exec rm -rf {} \;
           

以上指令删除30天以前的過期檔案

指令說明:

/root/apache-tomcat-7.0.54/logs是查找檔案的路徑。

-type f是指定檔案類型為普通檔案。

-mtime +6是指修改時間距離現在6天的檔案。

-exec rm -f指執行删除比對出來的檔案并且不提示,有的系統需要帶單引号,有的不需要。

加入Crontab任務

将以上指令,添加到crontab中,即可實作定期删除了。

比如,每天的0點0分實作删除,可以這樣:

代碼如下:

#crontab -e
  * * * find /root/apache/logs -type -f -mtime + -exec rm -rf {} \;