CentOS 上备份 Tomcat 的可执行方案
一 备份范围与目录定位
二 手动一次性备份步骤
三 自动化与远程备份脚本
#!/usr/bin/env bash
set -euo pipefail
CATALINA_BASE="/var/lib/tomcat"
BACKUP_DIR="/backup/tomcat"
RETAIN_DAYS=7
DATE=$(date +%F)
mkdir -p "$BACKUP_DIR/$DATE"
# 备份配置、应用与工作目录
tar -czf "$BACKUP_DIR/$DATE/conf_$DATE.tar.gz" -C /etc tomcat
tar -czf "$BACKUP_DIR/$DATE/apps_$DATE.tar.gz" -C "$CATALINA_BASE" webapps work temp
tar -czf "$BACKUP_DIR/$DATE/logs_$DATE.tar.gz" -C "$CATALINA_BASE" logs
# 清理过期备份
find "$BACKUP_DIR" -maxdepth 1 -type d -mtime +$RETAIN_DAYS -exec rm -rf {} +
echo "Backup $DATE completed."
四 增量备份与日志轮转
#!/usr/bin/env bash
set -euo pipefail
SRC="/var/lib/tomcat /etc/tomcat"
BACKUP_BASE="/backup/tomcat_inc"
SNAPSHOT="$BACKUP_BASE/snapshot"
DATE=$(date +%F)
WEEK=$(date +%u) # 1-7,周日=7
mkdir -p "$BACKUP_BASE/$DATE"
if [ "$WEEK" -eq 7 ]; then
rm -f "$SNAPSHOT"
tar -g "$SNAPSHOT" -czf "$BACKUP_BASE/$DATE/full_$DATE.tar.gz" $SRC
else
tar -g "$SNAPSHOT" -czf "$BACKUP_BASE/$DATE/inc_$DATE.tar.gz" $SRC
fi
五 恢复步骤与注意事项