在 Debian 系统上备份 Tomcat 日志,通常就是备份 logs 目录,并结合 日志轮转(logrotate) 来防止日志过大。下面给你几种常见、实用的做法,从手动备份到自动备份都有。
不同安装方式路径略有不同:
/var/log/tomcat9/
或
/var/log/tomcat10/
/opt/tomcat/logs/
或
/usr/local/tomcat/logs/
常见日志文件:
catalina.outcatalina.2026-01-21.loglocalhost.loghost-manager.logmanager.logaccess_log.*.txtmkdir -p /backup/tomcat_logs
tar czf /backup/tomcat_logs/tomcat-logs-$(date +%F).tar.gz /var/log/tomcat9/
✅ 优点:简单
❌ 缺点:不会自动清理旧日志
Debian 官方和运维最推荐的方式。
sudo nano /etc/logrotate.d/tomcat
/var/log/tomcat9/*.log /var/log/tomcat9/catalina.out {
daily
rotate 30
compress
delaycompress
missingok
notifempty
copytruncate
create 0640 tomcat tomcat
}
| 参数 | 作用 |
|---|---|
| daily | 每天轮转 |
| rotate 30 | 保留 30 天 |
| compress | 压缩旧日志 |
| copytruncate | 不重启 Tomcat |
| missingok | 日志不存在也不报错 |
logrotate -d /etc/logrotate.d/tomcat
✅ 生产环境首选
rsync -avz /var/log/tomcat9/ user@backup-server:/backup/tomcat_logs/
crontab -e
0 2 * * * rsync -avz /var/log/tomcat9/ /backup/tomcat_logs/
cp /var/log/tomcat9/catalina.out /backup/tomcat_logs/catalina-$(date +%F).log
然后清空原日志(可选):
: > /var/log/tomcat9/catalina.out
⚠️ 不推荐直接 rm catalina.out,可能导致 Tomcat 无法写入。
❌ 直接删除正在写入的日志
❌ 没给 Tomcat 用户写权限
❌ 忘记配置 copytruncate 导致 Tomcat 无法写日志
| 场景 | 推荐方式 |
|---|---|
| 生产环境 | logrotate |
| 临时备份 | tar + rsync |
| 云服务器 | logrotate + 对象存储 |
| 审计需求 | 保留 30~90 天 |
如果你愿意,我可以:
只要告诉我你的 Tomcat 版本 + 安装方式 即可。