Linux系統下對日志的操作主要有轉儲、郵件和壓縮等,如果手動操作的話會很麻煩。不過有一些工具可以幫助用戶對日志進行處理。本文就來教大家Linux系統中用logrotate對Tomcat日志進行切割的方法。
對Tomcat日志catalina.out日志切割如下
# ls -lh /usr/local/tomcat/logs/catalina.out
-rw-r--r-- 1 www www 14M Aug 28 15:55 /usr/local/tomcat/logs/catalina.out
配置logrotate對catalina.out日志切割
# cat /etc/logrotate.d/tomcat
/usr/local/tomcat/logs/catalina.out {
daily
rotate 5
missingok
dateext
compress
notifempty
copytruncate
}
參數詳解:
daily 指定轉儲周期為每天
rotate 5 指定日志文件刪除之前轉儲的次數,0指沒有備份,5指保留5個備份
missingok 如果日志不存在則忽略該警告信息
dateext 文件後綴是日期格式,也就是切割後文件是:xxx.log-20150828.gz
compress 通過gzip壓縮轉儲以後的日志(gzip -d xxx.gz解壓)
notifempty 如果是空文件的話,不轉儲
copytruncate 用於還在打開中的日志文件,把當前日志備份並截斷
立即截斷日志:
# logrotate --force /etc/logrotate.d/tomcat
效果如下:
# ls -lh /usr/local/tomcat/logs/catalina.out*
-rw-r--r-- 1 www www 0 Aug 28 16:00 /usr/local/tomcat/logs/catalina.out
-rw-r--r-- 1 www www 1.1M Aug 28 16:00 /usr/local/tomcat/logs/catalina.out-20150828.gz
以上就是Linux系統中用logrotate對Tomcat日志進行切割的方法了,有了這款工具,就不用每天都要編寫日志的腳本了。