使用logrotate分割Tomcat的catalina日誌

使用logrotate分割Tomcat的catalina日誌

切割catalian日誌的方式有很多種,比如shell腳本的、cronolog或者通過配置log4j等等這些都可以實現。但今天我要介紹是使用logrotate來按日期生成日誌。

原文是一個外國博主的文章,在這裏分享給大家。

如果catalina.out的大小超過了2G,那麼tomcat可能在沒有錯誤提示的情況下崩潰、無法啓動。所以爲了避免出現這個問題,我們應該每天分割catalina.out

如何每天自動的分割catalina.out或者大小達到5M時切割catalina.out

1.新建一個文件
在/etc/logrotate.d/ 目錄下新建一個文件,命名隨意。

# /etc/logrotate.d/tomcat

2.複製下面的語句至上文新建的文件中

# /var/log/tomcat/catalina.out {   copytruncate   daily   rotate 7   compress   missingok   size 5M  }

各個配置的具體含義:

  • 確保/var/log/tomcat/catalina.out指向你服務器中的catalina.out的地址
  • daily - 每天切割
  • rotate - 保留最多七個文件
  • compress - 壓縮分割後的文件
  • size - 當catalina.out大於5M時分割

如何起作用

  • 每天晚上,cron daemon會自動執行/etc/cron.daily目錄下的任務
  • 這個會觸發/etc/cron.daily/logrotate文件,logrotate一般是隨linux按安裝的。它會執行這個命令-“/etc/sbin/logrotate /etc/logrotate.conf”(注意空格)
  • /etc/logrotate.conf 包含了/etc/logrotate.d目錄下的所有腳本
  • 這個會觸發上一步你寫的/etc/logrotate.d/tomcate文件

手動執行logrotate

執行以下語句來手動運行cron任務

# /usr/sbin/logrotate /etc/logrotate.conf

logrotate的更多操作

 man logrotate

阿里雲日誌切割

  1. 執行命令
# cat >/etc/logrotate.d/tomcat <<EOF
/home/admin/taobao-tomcat-production-7.0.59.3/logs/catalina.out {
daily
rotate 7
dateext
dateformat .%Y-%m-%d
notifempty
missingok
copytruncate
}
EOF

2.手動觸發

 # logrotate -f /etc/logrotate.d/tomcat

原文地址: https://www.cnblogs.com/tayxxs/p/5701546.html

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