Linux下cronolog安裝配置 --解決catalina.out日誌過大的問題

使用cronolog對catalina.out進行日誌分割

背景介紹

默認情況下,tomcat的catalina.out日誌文件是沒有像其它日誌一樣,按日期進行分割,而是全部輸出全部寫入到一個catalina.out,這樣日積月累就會造成.out日誌越來越大,給管理造成了不便,爲了實現像其它日誌文件一樣按日期歸檔,這裏我們採用cronolog來完成日誌分割。

解決:通過cronolog來分割catalina.out,實現按日輸出catalina日誌.

cronolog安裝

 ./configure
 make
 make install
  • 查看cronolog安裝後所在目錄(驗證安裝是否成功)
 which cronolog

 /usr/local/sbin/cronolog

修改tomcat bin目錄下catalina.sh

  • 找到touch “$CATALINA_OUT”,註釋掉這一行

  • 找到

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

修改爲:

org.apache.catalina.startup.Bootstrap "$@" start 2>&1 | /usr/local/sbin/cronolog "$CATALINA_BASE"/logs/catalina/catalina.%Y-%m-%d.out >> /dev/null &

注意:路徑問題,在catalina.sh文件中:

CATALINA_BASE=/usr/local/tomcat8/
CATALINA_OUT=/usr/local/tomcat8/logs/catalina.out/
  • 重新啓動tomcat

驗證

  • 進入tomcat目錄
/usr/local/tomcat8/logs/catalina/

發現:catalina.2018-01-17.out

備註:/usr/local/tomcat8/logs/catalina/這個目錄可能是隱藏文件夾,ls -a

知識拓展

./configure,make,make install的作用

  • ./configure,這一步一般用來生成 Makefile(定義了一系列的規則來指定,哪些文件需要先編譯,哪些文件需要後編譯,哪些文件需要重新編譯,甚至於進行更復雜的功能操作),爲下一步的編譯做準備,你可以通過在 configure 後加上參數來對安裝進行控制,比如代碼:./configure –prefix=/usr 意思是將該軟件安裝在 /usr 下面,執行文件就會安裝在 /usr/bin (而不是默認的 /usr/local/bin),資源文件就會安裝在 /usr/share(而不是默認的/usr/local/share)。同時一些軟件的配置文件你可以通過指定 –sys-config= 參數進行設定。有一些軟件還可以加上 –with、–enable、–without、–disable 等等參數對編譯加以控制,你可以通過允許 ./configure –help 察看詳細的說明幫助。

  • make,這一步就是編譯,大多數的源代碼包都經過這一步進行編譯(當然有些perl或python編寫的軟件需要調用perl或python來進行編譯)。如果 在 make 過程中出現 error ,你就要記下錯誤代碼(注意不僅僅是最後一行),然後你可以向開發者提交 bugreport(一般在 INSTALL 裏有提交地址),或者你的系統少了一些依賴庫等,這些需要自己仔細研究錯誤代碼。

  • make insatll,這條命令來進行安裝(當然有些軟件需要先運行 make check 或 make test 來進行一些測試),這一步一般需要你有 root 權限(因爲要向系統寫入文件)。

其他方案

用logrotate管理每日增長的日誌

  • 按一定週期自動循環分割和保存日誌防止無限增長,必要的時候進行壓縮、刪除,還可以進行郵件通知等功能。

  • 參考博客:

http://blog.csdn.net/baidu_zhongce/article/details/50393090 
http://blog.csdn.net/catoop/article/details/25105969

使用log4j切分tomcat的catalina.out輸出文件

  • 參考博客
http://blog.csdn.net/u011322089/article/details/54909934
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章