最新下载
热门教程
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
CentOS Tomcat日志备份策略指什么
时间:2026-06-05 09:53:02 编辑:袖梨 来源:一聚教程网
CentOS Tomcat日志备份策略

策略总览
- 采用“本地按日轮转 + 压缩归档 + 定期清理 + 异地/离线归档”的组合方式,兼顾可用性、可恢复性与磁盘成本控制。
- 日常由 logrotate 按天或按大小对 catalina.out 与 logs/*.log 进行轮转、压缩与保留;配合 crond 的每日任务自动执行。
- 每周或每月将已轮转的归档日志打包并拷贝到 NFS/对象存储/备份服务器,实现长期留存与灾备。
本地轮转与清理
- 推荐方案:使用 logrotate 管理 catalina.out(适用于运行中持续写入的日志文件)。
- 示例配置(/etc/logrotate.d/tomcat):
要点说明:/opt/tomcat/logs/catalina.out {dailyrotate 30size 100Mcopytruncatecompressdelaycompressdateextdateformat .%Y-%m-%dmissingoknotifemptysu tomcat tomcat}- copytruncate 适配持续写入的 catalina.out(先复制后截断,避免重启);若采用“reload/重启”方案,可改用 nocopytruncate。
- daily + size 100M 双触发更稳妥;rotate 30 保留最近 30 份;compress + delaycompress 节省空间;dateext 便于按日期检索。
- 其他日志(如 localhost_access_log、catalina.*.log)可在同一目录用通配符一并管理:
/opt/tomcat/logs/*.log {dailyrotate 14compressmissingoknotifemptycreate 640 tomcat tomcatsu tomcat tomcat}
- 触发与验证:
- 系统通过 /etc/cron.daily/logrotate 每日自动执行;也可手动测试:
logrotate -f /etc/logrotate.d/tomcatlogrotate -d /etc/logrotate.d/tomcat # 语法/规则校验
- 系统通过 /etc/cron.daily/logrotate 每日自动执行;也可手动测试:
- 替代/补充方案:使用 cronolog 将 catalina.out 按日期切分(需在 bin/catalina.sh 中改造输出管道),适合希望由应用侧直接按日生成新文件的场景。
异地与离线归档
- 目标:将已轮转压缩的历史日志定期拷贝到独立存储(如 /backup/tomcat 或远程备份介质),实现长期留存与灾备。
- 示例脚本(保留最近 7 天本地,7–30 天归档,>30 天删除):
#!/bin/bashset -eTOMCAT_LOGS="/opt/tomcat/logs"BACKUP_BASE="/backup/tomcat"KEEP_LOCAL_DAYS=7ARCHIVE_DAYS=30mkdir -p "$BACKUP_BASE/archive"# 1) 打包昨天的已轮转日志(如 catalina.out-2025-12-22.gz)YESTERDAY=$(date -d "yesterday" +%Y-%m-%d)cd "$TOMCAT_LOGS" || exit 1ARCHIVE_FILE="$BACKUP_BASE/archive/tomcat_logs_${YESTERDAY}.tar.gz"find . -maxdepth 1 -name "*${YESTERDAY}*.gz" -print0 | xargs -0 tar -czf "$ARCHIVE_FILE" --remove-files 2>/dev/null || true# 2) 清理本地旧归档find "$TOMCAT_LOGS" -name "*.gz" -mtime +$KEEP_LOCAL_DAYS -deletefind "$BACKUP_BASE/archive" -name "*.tar.gz" -mtime +$ARCHIVE_DAYS -delete# 3) (可选)同步到远程存储(示例:rsync 到备份服务器)# rsync -avz --delete "$BACKUP_BASE/archive/" [email protected]:/data/tomcat/ - 定时任务(每天 02:00 执行):
0 2 * * * /usr/local/bin/tomcat_log_archive.sh >> /var/log/tomcat_archive.log 2>&1 - 如需集中管理与审计,可将 Tomcat 日志通过 rsyslog 发送到远程 Syslog 服务器,再由集中平台进行长期保存与备份。
监控与容量规划
- 容量阈值与告警:对 /opt/tomcat/logs 与 /backup 设置磁盘使用率阈值(如 80%)与告警,避免因日志占满导致业务异常。
- 校验与演练:定期抽样解压归档验证可用性;演练恢复流程(从归档中定位某日的 catalina.out 片段)。
- 日志级别与输出控制:在 conf/logging.properties 中将不必要的日志级别调高(如 WARNING/ERROR),减少无效日志产出,从源头控量。
- 权限与安全:备份目录与归档文件设置最小权限(如 640/600),仅允许 tomcat 用户与备份账号访问;涉及远程传输时使用 SSH key 或最小权限凭据。
相关文章
- 在Mybatis中如何加密tenant数据 06-06
- Spring Security 如何防御常见攻击 06-06
- Linux系统日志加密方式有哪几种 06-06
- ActionForm怎样防止恶意攻击 06-06
- 2345看图王如何切换到全屏模式 06-06
- ActionForm如何处理表单数据解密 06-06