WebLogic 在 CentOS 上的备份与恢复流程
一 核心原则与准备
- 明确范围:备份对象包括 域目录(config.xml 等)、嵌入式 LDAP 安全数据、JDBC 数据源与连接池配置、部署的应用(WAR/EAR)、日志与诊断文件、以及 外部数据库。其中域配置与安全数据位于 $DOMAIN_HOME/config 与 $DOMAIN_HOME/servers//data/ldap;应用通常位于 $DOMAIN_HOME/autodeploy 或用户自定义目录;数据库需使用数据库自带工具单独备份。为降低风险,建议将备份复制到 异地/对象存储。恢复时遵循“先停服务→恢复→校验→启动”的顺序。
二 标准流程
- 备份
- 停止服务:建议优雅停机(如使用 $DOMAIN_HOME/bin/stopWebLogic.sh 或通过控制台),避免配置变更未落盘。
- 备份域配置与安全数据:打包 $DOMAIN_HOME/config 与 $DOMAIN_HOME/servers//data/ldap。
- 备份应用与数据:归档 $DOMAIN_HOME/autodeploy 或自定义部署目录;如使用外部数据库,使用 expdp/impdp 或 RMAN 等进行逻辑/物理备份。
- 备份日志与诊断:归档 $DOMAIN_HOME/servers/ 下各实例的 logs/ 目录,便于审计与问题定位。
- 压缩与异地:使用 tar/gzip 压缩归档,并通过 scp/rsync 传至安全位置。
- 校验:对归档做 校验和(如 sha256sum) 并记录清单。
- 恢复
- 停止服务:确保 AdminServer 与所有受管服务器 均已停止。
- 恢复域与安全数据:将备份的 config 与 ldap 目录解压回原路径(覆盖前先备份当前目录)。
- 恢复应用与数据:将 WAR/EAR 放回部署目录或按原方式部署;恢复数据库到备份时间点。
- 启动与校验:先启动 AdminServer,确认 config.xml 与应用加载正常,再启动受管服务器;登录 Admin Console 校验数据源、部署、集群与安全配置;抽查关键业务。
- 回滚预案:准备“最近一次可用备份”与回滚脚本,异常时快速恢复。
三 自动化与增量方案
- 定时全量备份脚本(示例)
#!/bin/bash
set -e
export DOMAIN_HOME=/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain
export BACKUP_DIR=/opt/backup_weblogic
export DATE=$(date +%F_%H%M%S)
export ARC_NAME="weblogic_domain_${DATE}.tar.gz"
mkdir -p "$BACKUP_DIR"
# 1) 域配置与安全数据
tar -czf "$BACKUP_DIR/${ARC_NAME}" -C "$DOMAIN_HOME" config
tar -czf "$BACKUP_DIR/${ARC_NAME%.tar.gz}_ldap.tar.gz" -C "$DOMAIN_HOME" servers/AdminServer/data/ldap
# 2) 部署的应用(按实际目录调整)
[ -d "$DOMAIN_HOME/autodeploy" ] && tar -czf "$BACKUP_DIR/${ARC_NAME%.tar.gz}_autodeploy.tar.gz" -C "$DOMAIN_HOME" autodeploy
# 3) 日志(可选)
[ -d "$DOMAIN_HOME/servers" ] && tar -czf "$BACKUP_DIR/${ARC_NAME%.tar.gz}_logs.tar.gz" -C "$DOMAIN_HOME/servers" */logs
# 4) 校验与清理(保留最近7天)
sha256sum "$BACKUP_DIR/${ARC_NAME}" >> "$BACKUP_DIR/checksums.sha256"
find "$BACKUP_DIR" -name "weblogic_domain_*.tar.gz" -mtime +7 -delete
使用 crontab 每天 02:00 执行:0 2 * * * /opt/scripts/backup_weblogic.sh >> /var/log/weblogic_backup.log 2>&1
- 增量与异地
- 目录增量:使用 rsync -a --delete 将 $DOMAIN_HOME 增量同步至备份目录或备用主机。
- 数据库增量:使用 RMAN 增量备份 或 Data Pump 增量导出。
- 异地/多地:将备份推送至 NFS/对象存储(如 S3/OSS),提升容灾能力。
四 关键注意事项与验证
- 高可用与容灾:对关键业务建议部署 WebLogic 集群,启用 故障转移、超载保护、服务器/服务迁移 与 Node Manager 自动重启,降低单点故障影响;但故障恢复仍依赖对 域配置与安全数据 的可靠备份。
- 安全数据一致性:仅备份 管理服务器 的 嵌入式 LDAP 目录(受管服务器为副本),避免主从不一致。
- 应用一致性:对写入频繁的应用,优先采用 数据库备份 保证一致性;域配置与应用归档建议 停机 或使用可控的滚动方式以减少不一致风险。
- 版本与路径:恢复前后保持 WebLogic 版本与目录结构 一致;如变更 $DOMAIN_HOME,需同步调整 启动脚本、数据源、日志路径 等。
- 定期演练:定期执行 恢复演练 与 备份校验(校验和/抽样恢复),验证 RPO/RTO 达标。