在 Debian 系统上备份 Tomcat 日志,常见做法有 手动备份、脚本 + cron 定时备份、使用 logrotate。下面按常用程度给你一套完整方案。
默认情况下,Tomcat 日志在:
/var/log/tomcat9/
或(取决于安装方式):
/opt/tomcat/logs/
/usr/local/tomcat/logs/
常见日志文件:
catalina.outcatalina.2026-01-21.loglocalhost.loghost-manager.logmanager.logaccess_log.*mkdir -p /backup/tomcat-logs
tar czvf /backup/tomcat-logs/tomcat-logs-$(date +%F).tar.gz /var/log/tomcat9/
✅ 优点:简单
❌ 缺点:不适合长期维护
sudo nano /usr/local/bin/backup_tomcat_logs.sh
内容如下:
#!/bin/bash
LOG_DIR="/var/log/tomcat9"
BACKUP_DIR="/backup/tomcat-logs"
DATE=$(date +%F)
mkdir -p "$BACKUP_DIR"
tar czvf "$BACKUP_DIR/tomcat-logs-$DATE.tar.gz" "$LOG_DIR"
# 保留 30 天
find "$BACKUP_DIR" -name "*.tar.gz" -mtime +30 -delete
chmod +x /usr/local/bin/backup_tomcat_logs.sh
sudo crontab -e
每天凌晨 2 点执行:
0 2 * * * /usr/local/bin/backup_tomcat_logs.sh >> /var/log/tomcat-backup.log 2>&1
Debian 自带 logrotate,非常适合 Tomcat。
sudo nano /etc/logrotate.d/tomcat9
示例配置:
/var/log/tomcat9/*.log /var/log/tomcat9/catalina.out {
daily
rotate 30
compress
delaycompress
missingok
notifempty
copytruncate
}
| 参数 | 作用 |
|---|---|
| daily | 每天轮转 |
| rotate 30 | 保留 30 份 |
| compress | 压缩 |
| copytruncate | 不重启 Tomcat |
| missingok | 日志不存在不报错 |
✅ Tomcat 不需要重启
✅ 自动清理旧日志
rsync -avz /backup/tomcat-logs/ user@backup-server:/data/tomcat-logs/
可加入 cron 定时同步。
| 场景 | 推荐方式 |
|---|---|
| 临时备份 | tar 手动 |
| 定期本地备份 | 脚本 + cron |
| 自动轮转 | ✅ logrotate |
| 生产环境 | logrotate + 远程备份 |
如果你愿意,可以告诉我:
我可以帮你直接生成可用的配置文件。