温馨提示×

Ubuntu如何备份Tomcat日志

小樊
40
2026-07-21 22:00:47
栏目: 智能运维

在 Ubuntu 上备份 Tomcat 日志,常见做法有几种,下面从最常用、最实用自动化给你一个完整说明。


一、Tomcat 日志在哪?

默认路径一般是:

/var/log/tomcat9/
# 或
/opt/tomcat/logs/
# 或
/usr/local/tomcat/logs/

常见日志文件:

catalina.out
catalina.2026-01-21.log
localhost.log
host-manager.log
manager.log
access_log_*.log

二、手动备份(最简单)

1️⃣ 打包备份

cd /var/log/tomcat9
tar -czvf tomcat-logs-$(date +%F).tar.gz *.log

备份文件示例:

tomcat-logs-2026-01-21.tar.gz

2️⃣ 拷贝到备份目录

mkdir -p /backup/tomcat
cp tomcat-logs-*.tar.gz /backup/tomcat/

三、只备份当天日志(推荐)

tar -czvf tomcat-logs-$(date +%F).tar.gz catalina.out localhost.log

四、自动备份(cron 定时任务)

1️⃣ 创建备份脚本

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

内容:

#!/bin/bash

LOG_DIR="/var/log/tomcat9"
BACKUP_DIR="/backup/tomcat"
DATE=$(date +%F)

mkdir -p "$BACKUP_DIR"

tar -czvf "$BACKUP_DIR/tomcat-logs-$DATE.tar.gz" \
    "$LOG_DIR"/*.log

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

2️⃣ 赋予执行权限

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

3️⃣ 加入定时任务

crontab -e

每天凌晨 2 点执行:

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

五、备份 catalina.out(重点)

catalina.out 会一直增长,建议定期切割

使用 logrotate(强烈推荐 ✅)

编辑配置:

sudo nano /etc/logrotate.d/tomcat

示例:

/var/log/tomcat9/catalina.out {
    daily
    rotate 7
    compress
    missingok
    notifempty
    copytruncate
}

立即测试:

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

六、远程备份(可选)

使用 rsync

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

七、推荐方案(生产环境)

logrotate 切割日志
cron 定时打包备份
保留 7~30 天
备份到独立磁盘或远程服务器


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

  • Tomcat 版本(8 / 9 / 10)
  • 日志路径
  • 是否 Docker / systemd

我可以帮你写一套完全适配你环境的备份方案

0