Linux 下 Tomcat日志切割

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

1.配置logrotate对catalina.out日志切割脚本

shell> vim /etc/logrotate.d/tomcat

/usr/local/apache-tomcat-7.0.70/logs/catalina.out {
    #将/usr/local/apache-tomcat-7.0.70/logs/catalina.out 替换为自己的tomcat日志路径

    #指定转储周期为每天
	daily           

    #用于还在打开中的日志文件,把当前日志备份并截断
	copytruncate

    #以YYYYMMDD命名,也就是切割后文件是:xxx.log-20150828.gz
	dateext 

    #如果日志不存在则忽略该警告信息
	missingok   

    #通过gzip压缩转储以后的日志(gzip -d xxx.gz解压)
	compress 
 
    #如果是空文件的话,不转储  
	notifempty
    
    #指定日志文件删除之前转储的次数,0指没有备份,7指保留5个备份
	rotate 7

    #达到指定容量时才开始截断
    size 50M

    #截断日志后的操作,删除目录下大于7天的*.log和*.txt文件
    postrotate
                find /usr/local/apache-tomcat-7.0.70/logs/ \( -name "*.log" -o -name         "*.txt" \) -mtime +7 -delete
    endscript

}


2. 授权脚本执行权限

shell> chmod 755 /etc/logrotate.d/tomcat

 #配置完后查看是否生效,执行后查看tomcat日志目录下是否有压缩文件产生
shell> ls -lh /usr/local/apache-tomcat-7.0.70/logs/catalina.out*  

3. 加入定时任务

shell> crontab -e

#在打开的文件尾部添加,说明,每日0点执行,不保留记录
0 0 * * * /usr/sbin/logrotate -f /etc/logrotate.conf >/dev/null 2>&1

#重启服务
shell> /etc/init.d/crond restart

#或
shell> service crond restart

 

 

 

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值