IT技术博客大学习 共学习 共进步
全部 移动开发 后端 数据库 AI 算法 安全 DevOps 前端 设计 开发者

tomcat catalina.out日志切割每天生成一个文件

阿熊的窝 2009-11-12 13:51:10 累计浏览 9,242 次
本机暂存

tomcat的catalina.out一直增长,太大了会造成tomcat异常,需要对其日志进行切割每天生成一个文件,并且删除7天前的文件。

以下是代码片段:

#!/bin/bash
 
cd `dirname $0`
d=`date +%Y%m%d`
d7=`date -d’7 day ago’ +%Y%m%d`
 
cd ../logs/
 
cp catalina.out catalina.out.${d}
echo "" > catalina.out  
rm -rf catalina.out.${d7}

放到tomcat的bin目录中,然后crontab每天执行。

@Panblack 指出上诉方法有误, 修正的方法为:http://www.cnblogs.com/panblack/archive/2013/05/30/split_tomcat_catalina_out.html  

================================================

这里说的分割tomcat catalina.out,不仅脚本错了,方法也不对。tomcat如果不重启就无法写入新的catalina.out。简单的脚本如下:

#!/bin/bash

thedate=`date --rfc-3339=date`

/opt/tomcat/bin/shutdown.sh

mv /opt/tomcat/logs/catalina.out /opt/tomcat/logs/catalina.out.${thedate}

/opt/tomcat/bin/startup.sh

脚本放到 /etc/cron.daily,每天生成类似 catalina.out.2013-05-30 的文件,定期删除旧日志的方法回头研究。

================================================

续二:

李旸stone:这个方案不好,还得重启tomcat,用cronolog好了。修改catalina.sh: 2>&1 |/usr/local/sbin/cronolog "$CATALINA_BASE/logs/catalina.%Y-%m-%d.out" &,具体参考http://t.cn/zH6Tz3E google一下就有各种方法

同分类推荐文章

  1. 从零重建 macOS 开发机:可复现的环境初始化流程 (2026-06-14 20:36:00)
  2. 百度物理网络监控工具开源第二弹:毫秒级监控工具 baize,让你的网络问题无处遁形 (2026-06-11 08:10:28)
  3. How to Set Up Homebrew Tap for Private CLI Tools: A Complete Guide (2026-05-27 02:13:03)

查看更多 DevOps 文章 →

建议继续学习

  1. Bash的模式和配置文件加载 (累计阅读 24,406)
  2. 28个Unix/Linux的命令行神器 (累计阅读 16,790)
  3. 我常用的主机监控shell脚本 (累计阅读 13,429)
  4. 100个常用的linux命令 (累计阅读 11,606)
  5. Linux命令行里的“瑞士军刀” (累计阅读 11,584)
  6. 每个程序员都应该知道的8个Linux命令 (累计阅读 10,744)
  7. 最受欢迎的10个 Linux 单行命令 (累计阅读 10,129)
  8. linux下搜索find命令详解 (累计阅读 9,457)
  9. 应该知道的Linux技巧 (累计阅读 8,947)
  10. Linux 常见高危操作 (累计阅读 8,403)