簡單說明:
1,因為tomcat日志會一直往catalina.out里面輸出,所以回到值catalina.out非常大,占用磁盤空間
2,日志非常大,查看日志就需要很長時間。
3,據說catalina.out日志超過2個G,程序崩潰時將有可能會啟動失敗並且不會有任何錯誤信息提示
所以,基於以上三點,所以需要對catalina.out進行切割。
我早期切割的方法是寫腳本,原理就是講catalin.out 復制一份,重新命名加上日期。然后再cat /dev/null > catalina.out 清空日志即可。
二,使用系統自帶的日志切割工具logrotate切割
vi /etc/logrotate.d/tomcat
/usr/local/apache-tomcat/logs/catalina.out {
copytruncate
daily
rotate 5
missingok
compress
size 16M
}
配置簡單說明:
/usr/local/apache-tomcat/logs/catalina.out{ #要切割的文件
daily # 每天進行catalina.out文件的切割
rotate 5 # 保留5個文件
missingok # 文件丟失了,繼續切割而不報錯
compress # 使用壓縮的方式
size 16M # 當catalina.out文件大於16MB時,就切割
工作原理:
每天晚上crond守護進程會運行在/etc/cron.daily目錄中的任務列表;
與logrotate相關的腳本也在/etc/cron.daily目錄中。運行的方式為"/usr/bin/logrotate /etc/logrotate.conf";
/etc/logrotate.conf文件include了/etc/logrotate.d/目錄下的所有文件。還包括我們上面剛創建的tomcat文件;
/etc/logrotate.d/tomcat文件會觸發/usr/local/apache-tomcat/logs/catalina.out文件的輪轉。
}