CentOS 上备份 Tomcat 的实用方法
一 备份范围与准备
二 手动备份步骤
sudo systemctl stop tomcat。sudo mkdir -p /backup/tomcat。sudo tar -czvf /backup/tomcat_backup_$(date +%Y%m%d%H%M%S).tar.gz /opt/tomcat/webapps /opt/tomcat/work /opt/tomcat/tempsudo tar -czvf /backup/tomcat_conf_$(date +%Y%m%d%H%M%S).tar.gz /opt/tomcat/confsudo tar -czvf /backup/tomcat_logs_$(date +%Y%m%d%H%M%S).tar.gz /opt/tomcat/logsls -lh /backup/,必要时抽查压缩包内容:tar -tzvf /backup/tomcat_backup_*.tar.gz | head。sudo systemctl start tomcat。三 自动化备份脚本与定时任务
#!/bin/bash
set -e
BACKUP_ROOT="/backup/tomcat"
DATE=$(date +%Y%m%d%H%M%S)
KEEP_DAYS=7
# 若需一致性,取消下一行注释
# systemctl stop tomcat || true
mkdir -p "$BACKUP_ROOT"
tar czf "$BACKUP_ROOT/tomcat_apps_${DATE}.tar.gz" /opt/tomcat/webapps /opt/tomcat/work /opt/tomcat/temp
tar czf "$BACKUP_ROOT/tomcat_conf_${DATE}.tar.gz" /opt/tomcat/conf
tar czf "$BACKUP_ROOT/tomcat_logs_${DATE}.tar.gz" /opt/tomcat/logs
# 清理旧备份
find "$BACKUP_ROOT" -name "tomcat_*.tar.gz" -mtime +${KEEP_DAYS} -delete
# 若之前停止,取消下一行注释
# systemctl start tomcat
chmod +x /opt/scripts/backup_tomcat.sh && /opt/scripts/backup_tomcat.sh。crontab -e0 1 * * * /opt/scripts/backup_tomcat.sh >> /var/log/backup_tomcat.log 2>&1sudo systemctl enable --now crond(或 crond,视系统而定)。四 远程备份与扩展
#!/bin/bash
BACKUP_DIR="/backup/tomcat"
DATE=$(date +%Y%m%d%H%M%S)
FILE="tomcat_${DATE}.tar.gz"
cd "$BACKUP_DIR"
tar czf "$FILE" /opt/tomcat/webapps /opt/tomcat/conf /opt/tomcat/logs
ftp -v -n << EOF
open 192.168.162.162
user test Test@2022
binary
cd /backup/EGEIG/
put $FILE
quit
EOF
rm -f "$FILE"
五 恢复步骤与注意事项
sudo systemctl stop tomcatsudo tar -xzvf /backup/tomcat_apps_YYYYMMDDHHMMSS.tar.gz -C /sudo tar -xzvf /backup/tomcat_conf_YYYYMMDDHHMMSS.tar.gz -C /sudo tar -xzvf /backup/tomcat_logs_YYYYMMDDHHMMSS.tar.gz -C /sudo systemctl start tomcatsudo chown -R tomcat:tomcat /opt/tomcat。