Tomcat catalina.out日志分割与定时任务指南

AI 概述
本文介绍在Linux下使用logrotate切割Tomcat的catalina.out日志,步骤包括安装logrotate、在/etc/logrotate.d/创建配置并设置按天切割、压缩、保留30天等规则,手动测试生效后,通过crontab配置每日00:05定时执行,同时补充cron用法与文件分割、压缩命令。
目录
文章目录隐藏
  1. 1.安装 logrotate
  2. 2.配置 logrotate
  3. 3.测试 logrotate
  4. 4.设置定时任务

Tomcat catalina.out 日志分割与定时任务指南

Tomcat 的 catalina.out 日志会持续记录系统输出,长期积累易占用大量磁盘空间,按日期分割日志是运维必备操作。本文详细讲解使用 logrotate 工具分割 catalina.out 的完整步骤,包括工具安装、配置编写、测试验证,搭配 cron 定时任务设置及补充命令,助力高效管理 Tomcat 日志,降低运维成本。

下面是一个简单的步骤:

1.安装 logrotate

确保你的系统上安装了 logrotate 工具。

你可以通过包管理器来安装,例如在 Ubuntu 上可以使用以下命令:

sudo apt-get install logrotate

2.配置 logrotate

创建一个 logrotate 的配置文件,告诉它如何处理 catalina.out 文件。

在 logrotate.d 目录下创建一个文件,比如 tomcat:

sudo nano /etc/logrotate.d/tomcat

在这个文件中添加如下内容:

/usr/local/setup/apache-tomcat-8.5.84-8081/logs/catalina.out {
    daily
    missingok
    rotate 30
    compress
    delaycompress
    notifempty
    copytruncate
    dateext
    dateyesterday
    dateformat -%Y-%m-%d
}

属性介绍:

  • daily:按天切割日志。
  • missingok:如果日志文件不存在,则忽略它而不报错。
  • rotate 7:保留 7 个旧的日志文件。
  • compress:压缩旧的日志文件。
  • delaycompress:延迟压缩,等到下一次日志轮换时压缩上一次轮换的文件。
  • notifempty:如果日志文件为空,则不进行轮换。
  • copytruncate:在轮换时,先复制原始日志文件内容到新文件,再清空原始日志文件内容。
  • dateext:使得 logrotate 在轮换时使用日期作为后缀。
  • dateyesterday:文件名设置为前一天的日期
  • dateformat -%Y-%m-%d:指定日期的格式,例如-2026-04-14。

替换/usr/local/setup/apache-tomcat-8.5.84-8081/logs/catalina.out为你的catalina.out文件所在的路径。

3.测试 logrotate

保存配置文件并退出编辑器。然后,可以手动执行 logrotate 来测试配置是否生效:

logrotate -vf /etc/logrotate.d/tomcat

这将显示 logrotate 的详细输出,可以查看是否有任何错误或警告。

4.设置定时任务

logrotate 通常作为一个定时任务在系统中运行,定期检查并轮换日志文件。你可以查看系统中的 cron 任务,确认 logrotate 是否已经在其中配置,并根据需要进行调整。

通过这些步骤,你应该能够实现按日期分割 Tomcat 的 catalina.out 日志文件。

在 Linux 中,你可以使用 cron(定时任务)来定期执行特定的命令或脚本。Cron 是一个系统服务,它允许用户在预定的时间执行预定的命令。

如何设置定时任务的步骤

1.编辑 Cron 表

你可以使用 crontab -e 命令编辑当前用户的 cron 表。

crontab -e
# 文件路径:/var/spool/cron/root

如果是第一次编辑,系统会要求你选择一个编辑器。

2.添加任务

在打开的文件中,每一行代表一个定时任务。每行的格式为:

minute hour day month day_of_week command
  • minute:分钟(0-59)
  • hour:小时(0-23)
  • day:日期(1-31)
  • month:月份(1-12)
  • day_of_week:星期几(0-7,0 和 7 都代表星期日)
  • command:要执行的命令或脚本

例如,要每天凌晨 3 点执行一个脚本,你可以添加以下行:

 5 0 * * * /usr/sbin/logrotate -vf /etc/logrotate.d/tomcat

这表示在每天的 0:05 执行//usr/sbin/logrotate -vf /etc/logrotate.d/tomcat脚本。

3.保存并退出

保存文件并退出编辑器。

4.验证任务

你可以使用 crontab -l 命令来查看当前用户的 cron 表,确保任务已经正确添加。

5.重启 cron 服务

(可选):在某些情况下,修改 cron 表后可能需要重启 cron 服务以使更改生效。

你可以使用以下命令来重启 cron 服务:

# 重启
service cron restart
# 查看状态
service cron status
# 停止
service cron stop
# 开始
service cron start

补充

常用命令记录

# 文件切割
split -b 2000M --additional-suffix=.txt jstsjtq.log smallfile_
# 文件压缩
gzip 文件名

总结

以上就是 Tomcat catalina.out 日志按日期分割的全流程,涵盖 logrotate 工具配置、测试验证,以及 cron 定时任务的设置方法,补充了日志分割、压缩的常用命令。按照指南操作,可实现日志的自动化管理,避免日志过大占用资源,保障 Tomcat 服务稳定运行,提升运维效率。

以上关于Tomcat catalina.out日志分割与定时任务指南的文章就介绍到这了,更多相关内容请搜索码云笔记以前的文章或继续浏览下面的相关文章,希望大家以后多多支持码云笔记。

「点点赞赏,手留余香」

1

给作者打赏,鼓励TA抓紧创作!

微信微信 支付宝支付宝

还没有人赞赏,快来当第一个赞赏的人吧!

声明:本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权/违法违规/事实不符,请将相关资料发送至 admin@mybj123.com 进行投诉反馈,一经查实,立即处理!
重要:如软件存在付费、会员、充值等,均属软件开发者或所属公司行为,与本站无关,网友需自行判断
码云笔记 » Tomcat catalina.out日志分割与定时任务指南

发表回复