歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Linux下Tomcat catalina.out自動歸檔的幾種方式

Linux下Tomcat catalina.out自動歸檔的幾種方式

日期:2017/2/27 15:49:00   编辑:Linux教程
問題:為什麼需要歸檔?
如果 catalina.out 日志達到 2GB 大小的時候,Tomcat 因為緩存問題,便沒有辦法繼續輸出日志了。
為了避免這種情況,你需要及時對 catalina.out 進行歸檔。

問題:tomcat自身對日志內容進行歸檔,為什麼日志還是會越來越大
實際上 Tomcat 自身也會對日志內容進行歸檔,但是歸檔後,Tomcat 不會清理 catalina.out 的內容,這將會導致 catalina.out 越來越大

解決方案
使用場景:Linux/Unix
使用方式:采取logrotate日志輪詢
執行命令:
vi /etc/logrotate.d/tomcat
輸入以下內容:
/opt/apache-tomcat-8.0.15/logs/catalina.out{  
rotate 10 
copytruncate  
daily  
dateext 
nocompress  
missingok  
notifempty  
}

參數功能:
  • copytruncate 用於還在打開中的日志文件,把當前日志備份並截斷
  • daily 指定轉儲周期為每天
  • dateext 使用日期作為命名格式,切換後的日志文件會附加上一個短橫線和YYYYMMDD格式的日期
  • 例:error.log-20150506,沒有這個配置項會附加一個小數點加一個數字序號
  • nocompress 不需要壓縮時,用這個參數
  • missingok 如果日志不存在則忽略該警告信息
  • notifempty 表示如果log文件是空的,就不進行rotate

完成上面的工作後,你可以不需要在你的操作系統中做任何工作,

日志歸檔程序將會每天對你的日志進行歸檔的。

執行命令
/usr/sbin/logrotate -f /etc/logrotate.conf
執行命令後,在/opt/apache-tomcat-8.0.15/logs/裡面會存在catalina.out-20150605,而catalina.out的大小變為了0
Copyright © Linux教程網 All Rights Reserved