切割catalian日志的方式有很多種,比如shell腳本的、cronolog或者通過配置log4j等等這些都可以實現。但今天我要介紹是使用logrotate來按日期生成日志。
原文是一個外國博主的文章,在這里分享給大家。
如果catalina.out的大小超過了2G,那么tomcat可能在沒有錯誤提示的情況下崩潰、無法啟動。所以為了避免出現這個問題,我們應該每天分割catalina.out。
如何每天自動的分割catalina.out或者大小達到5M時切割catalina.out
1.新建一個文件
在/etc/logrotate.d/ 目錄下新建一個文件,命名隨意。
1 /etc/logrotate.d/tomcat
2.復制下面的語句至上文新建的文件中
1 /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任務
1 /usr/sbin/logrotate /etc/logrotate.conf
logrotate的更多操作
1 man logrotate
From http://www.vineetmanohar.com