在 Ubuntu 上备份 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
cd /var/log/tomcat9
tar -czvf tomcat-logs-$(date +%F).tar.gz *.log
备份文件示例:
tomcat-logs-2026-01-21.tar.gz
mkdir -p /backup/tomcat
cp tomcat-logs-*.tar.gz /backup/tomcat/
tar -czvf tomcat-logs-$(date +%F).tar.gz catalina.out localhost.log
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
chmod +x /usr/local/bin/backup_tomcat_logs.sh
crontab -e
每天凌晨 2 点执行:
0 2 * * * /usr/local/bin/backup_tomcat_logs.sh >> /var/log/tomcat-backup.log 2>&1
catalina.out 会一直增长,建议定期切割。
编辑配置:
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 -avz /backup/tomcat/ user@backup-server:/data/tomcat-backup/
✅ logrotate 切割日志
✅ cron 定时打包备份
✅ 保留 7~30 天
✅ 备份到独立磁盘或远程服务器
如果你愿意,可以告诉我:
我可以帮你写一套完全适配你环境的备份方案。