Tomcat日志切割(logrotate)

logrotate是个强大的系统软件,它对日志文件有着一套完整的操作模式,譬如:转储、邮件和压缩等,并且默认logrotate加到cron(/etc/cron.daily/logrotate)作为每日任务执行。自动有了logrotate,我想不用再自己写日志切割脚本。
如下对Tomcat日志catalina.out日志切割

 
  1. # ls -lh /usr/local/tomcat/logs/catalina.out
  2. -rw-r--r-- 1 www www 14M Aug 28 15:55 /usr/local/tomcat/logs/catalina.out

配置logrotate对catalina.out日志切割

 
  1. # cat /etc/logrotate.d/tomcat
  2. /usr/local/tomcat/logs/catalina.out {
  3. daily
  4. rotate 5
  5. missingok
  6. dateext
  7. compress
  8. notifempty
  9. copytruncate
  10. }

参数详解:

  • daily    指定转储周期为每天
  • rotate 5    指定日志文件删除之前转储的次数,0指没有备份,5指保留5个备份
  • missingok    如果日志不存在则忽略该警告信息
  • dateext    文件后缀是日期格式,也就是切割后文件是:xxx.log-20150828.gz
  • compress    通过gzip压缩转储以后的日志(gzip -d xxx.gz解压)
  • notifempty    如果是空文件的话,不转储
  • copytruncate    用于还在打开中的日志文件,把当前日志备份并截断

立即截断日志:

 
  1. # logrotate --force /etc/logrotate.d/tomcat

效果如下:

 
  1. # ls -lh /usr/local/tomcat/logs/catalina.out*  
  2. -rw-r--r-- 1 www www    0 Aug 28 16:00 /usr/local/tomcat/logs/catalina.out  
  3. -rw-r--r-- 1 www www 1.1M Aug 28 16:00 /usr/local/tomcat/logs/catalina.out-20150828.gz  
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Tomcat是一个常用的Java Web应用程序服务器,它会记录大量的日志信息,而这些日志文件会不断增大,占用大量的磁盘空间。为了解决这个问题,通常需要进行日志切割和压缩,这就需要使用到logrotate工具。 logrotate是一个Linux系统下的日志文件管理工具,可以自动切割、压缩和删除日志文件,同时可以保留一定数量的历史日志文件。通过使用logrotate,可以使得Tomcat日志文件管理更加便捷和高效。 下面是一个简单的logrotate配置文件示例,用于对Tomcat的catalina.out日志文件进行管理: ``` /home/tomcat/logs/catalina.out { daily missingok rotate 7 compress delaycompress notifempty copytruncate } ``` 解释: - `/home/tomcat/logs/catalina.out`:表示要进行管理的日志文件路径。 - `daily`:表示按照每天的时间间隔进行日志切割。 - `missingok`:表示如果日志文件不存在则忽略该文件。 - `rotate 7`:表示保留7个历史日志文件。 - `compress`:表示对切割后的日志文件进行压缩。 - `delaycompress`:表示在下一次切割时再进行压缩,避免出现压缩失败的情况。 - `notifempty`:表示如果日志文件为空则不进行切割。 - `copytruncate`:表示备份旧日志文件时,使用复制方式,同时截断原始日志文件,避免出现日志丢失的情况。 以上配置可以根据实际情况进行调整和修改。配置完成后,可以使用以下命令手动进行日志切割: ``` logrotate -f /etc/logrotate.d/tomcat ``` 其中`-f`表示强制执行,`/etc/logrotate.d/tomcat`为配置文件路径。也可以将该命令添加到定时任务中,以定期对Tomcat日志进行切割
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值