在 Debian 系统上备份 Tomcat,通常要备份 配置、应用、日志、以及可能的自定义库。下面给你一套完整、可操作的备份方案,适用于生产环境。
先确认 Tomcat 是哪种方式安装的:
systemctl status tomcat
# 或
ps -ef | grep tomcat
常见路径:
/var/lib/tomcat9/、/etc/tomcat9//opt/tomcat/、/usr/local/tomcat//etc/tomcat9/
# 或(手动安装)
/opt/tomcat/conf/
包含:
server.xmlweb.xmlcontext.xmltomcat-users.xml✅ 必须备份
/var/lib/tomcat9/webapps/
# 或
/opt/tomcat/webapps/
包含:
.war 文件✅ 必须备份
/var/lib/tomcat9/lib/
# 或
/opt/tomcat/lib/
/var/log/tomcat9/
# 或
/opt/tomcat/logs/
⚠️ 日志很大,按需备份
/etc/systemd/system/tomcat.service
#!/bin/bash
BACKUP_DIR="/data/backup/tomcat"
DATE=$(date +%F)
TOMCAT_HOME="/opt/tomcat"
mkdir -p $BACKUP_DIR
tar -czvf $BACKUP_DIR/tomcat-backup-$DATE.tar.gz \
$TOMCAT_HOME/conf \
$TOMCAT_HOME/webapps \
$TOMCAT_HOME/lib \
/etc/systemd/system/tomcat.service
echo "Tomcat backup completed: $BACKUP_DIR/tomcat-backup-$DATE.tar.gz"
赋予执行权限:
chmod +x /usr/local/bin/backup-tomcat.sh
crontab -e
每天凌晨 2 点备份:
0 2 * * * /usr/local/bin/backup-tomcat.sh >> /var/log/tomcat-backup.log 2>&1
如果 Tomcat 使用数据库(MySQL / PostgreSQL):
例如 MySQL:
mysqldump -u root -p yourdb > /data/backup/db/yourdb-$(date +%F).sql
systemctl stop tomcat
tar -xzvf tomcat-backup-2026-01-21.tar.gz -C /
systemctl start tomcat
如果你愿意,可以告诉我:
我可以给你完全定制化的备份方案。