温馨提示×

Tomcat日志Ubuntu如何备份

小樊
37
2026-07-10 10:22:06
栏目: 智能运维

Ubuntu 上备份 Tomcat 日志,常见做法有几种,从手动备份自动定时备份都可以。下面按常用场景给你说明。


一、Tomcat 日志默认位置

一般位于:

/opt/tomcat/logs/
# 或
/var/log/tomcat*/

常见日志文件:

  • catalina.out
  • localhost.*.log
  • host-manager.*.log
  • manager.*.log
  • access_log_*.txt

先确认路径:

ls /opt/tomcat/logs

二、手动备份(最基础)

1️⃣ 拷贝到备份目录

mkdir -p /backup/tomcat/$(date +%Y%m%d)
cp -r /opt/tomcat/logs/* /backup/tomcat/$(date +%Y%m%d)/

2️⃣ 打包压缩(推荐)

tar -czf /backup/tomcat/logs-$(date +%Y%m%d).tar.gz /opt/tomcat/logs

三、自动定时备份(cron)

1️⃣ 创建备份脚本

sudo nano /usr/local/bin/backup_tomcat_logs.sh

内容示例:

#!/bin/bash

LOG_DIR="/opt/tomcat/logs"
BACKUP_DIR="/backup/tomcat"
DATE=$(date +%Y%m%d)

mkdir -p $BACKUP_DIR

tar -czf $BACKUP_DIR/tomcat-logs-$DATE.tar.gz $LOG_DIR

# 保留 7 天
find $BACKUP_DIR -name "*.tar.gz" -mtime +7 -delete

赋予执行权限:

sudo chmod +x /usr/local/bin/backup_tomcat_logs.sh

2️⃣ 加入 crontab

sudo crontab -e

每天凌晨 2 点执行:

0 2 * * * /usr/local/bin/backup_tomcat_logs.sh >> /var/log/tomcat-backup.log 2>&1

四、只备份并清空 catalina.out(常见需求)

避免 catalina.out 无限增大:

cp /opt/tomcat/logs/catalina.out /backup/tomcat/catalina.out.$(date +%Y%m%d)
> /opt/tomcat/logs/catalina.out

⚠️ 不要直接删除 catalina.out(Tomcat 正在写入)


五、使用 logrotate(推荐生产环境 ✅)

Tomcat 日志非常适合用 logrotate 管理。

1️⃣ 新建配置

sudo nano /etc/logrotate.d/tomcat

示例:

/opt/tomcat/logs/catalina.out {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
}

2️⃣ 测试

sudo logrotate -d /etc/logrotate.d/tomcat

copytruncate 可避免重启 Tomcat


六、备份到远程服务器(可选)

rsync -avz /backup/tomcat/ user@backup-server:/data/tomcat-logs/

七、推荐方案总结

场景 推荐方式
临时备份 tar + cp
自动备份 cron + shell
日志轮转 ✅ logrotate
生产环境 logrotate + 远程备份

如果你愿意,可以告诉我:

  • Tomcat 版本
  • Ubuntu 版本
  • 是否 Docker / systemd
  • 是否只关心 catalina.out

我可以帮你定制一套最合适你环境的备份方案

0