歡迎來到Linux教程網
Linux教程網
Linux教程網
Linux教程網
Linux教程網 >> Linux基礎 >> Linux教程 >> Tomcat日志切割(logrotate)

Tomcat日志切割(logrotate)

日期:2017/2/27 15:46:28   编辑:Linux教程

logrotate是個強大的系統軟件,它對日志文件有著一套完整的操作模式,譬如:轉儲、郵件和壓縮等,並且默認logrotate加到 cron(/etc/cron.daily/logrotate)作為每日任務執行。自動有了logrotate,我想不用再自己寫日志切割腳本。

如下對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
Copyright © Linux教程網 All Rights Reserved