Tomcat在CentOS上的备份与恢复
一 备份策略与范围
二 本地备份与恢复步骤
三 远程备份与自动化
保存为:/usr/local/bin/tomcat_backup.sh #!/bin/bash set -e DATE=$(date +%F_%H%M%S) BACKUP_BASE=“/opt/backup” SRC_BASE=“/opt/tomcat” REMOTE_USER=“backup” REMOTE_HOST=“backup.example.com” REMOTE_DIR=“/data/backup/tomcat” RETENTION_DAYS=7
mkdir -p “$BACKUP_BASE”
tar czvf “$BACKUP_BASE/tomcat_$DATE.tar.gz”
–exclude=“$BACKUP_BASE”
–exclude=/proc --exclude=/sys --exclude=/dev --exclude=/run
“$SRC_BASE/webapps” “$SRC_BASE/conf” “$SRC_BASE/logs”
“$SRC_BASE/work” “$SRC_BASE/temp”
if [ -f /etc/systemd/system/tomcat.service ]; then cp /etc/systemd/system/tomcat.service “$BACKUP_BASE/tomcat.service.bak_$DATE” fi
rsync -avz --delete “$BACKUP_BASE/tomcat_$DATE.tar.gz”
“$REMOTE_USER@$REMOTE_HOST:$REMOTE_DIR/”
find “$BACKUP_BASE” -name “tomcat_.tar.gz" -mtime +$RETENTION_DAYS -delete find “$BACKUP_BASE” -name "tomcat.service.bak_” -mtime +$RETENTION_DAYS -delete
赋权与定时(每天 02:00 执行)
chmod +x /usr/local/bin/tomcat_backup.sh
echo “0 2 * * * root /usr/local/bin/tomcat_backup.sh >> /var/log/tomcat_backup.log 2>&1”
| sudo tee /etc/cron.d/tomcat_backup
四 恢复验证与常见问题