温馨提示×

weblogic在centos上的备份与恢复流程

小樊
45
2025-12-19 19:14:57
栏目: 智能运维

WebLogic 在 CentOS 上的备份与恢复流程

一 核心原则与准备

  • 明确范围:备份对象包括 域目录(config.xml 等)嵌入式 LDAP 安全数据JDBC 数据源与连接池配置部署的应用(WAR/EAR)日志与诊断文件、以及 外部数据库。其中域配置与安全数据位于 $DOMAIN_HOME/config$DOMAIN_HOME/servers//data/ldap;应用通常位于 $DOMAIN_HOME/autodeploy 或用户自定义目录;数据库需使用数据库自带工具单独备份。为降低风险,建议将备份复制到 异地/对象存储。恢复时遵循“先停服务→恢复→校验→启动”的顺序。

二 标准流程

  • 备份
    1. 停止服务:建议优雅停机(如使用 $DOMAIN_HOME/bin/stopWebLogic.sh 或通过控制台),避免配置变更未落盘。
    2. 备份域配置与安全数据:打包 $DOMAIN_HOME/config$DOMAIN_HOME/servers//data/ldap
    3. 备份应用与数据:归档 $DOMAIN_HOME/autodeploy 或自定义部署目录;如使用外部数据库,使用 expdp/impdp 或 RMAN 等进行逻辑/物理备份。
    4. 备份日志与诊断:归档 $DOMAIN_HOME/servers/ 下各实例的 logs/ 目录,便于审计与问题定位。
    5. 压缩与异地:使用 tar/gzip 压缩归档,并通过 scp/rsync 传至安全位置。
    6. 校验:对归档做 校验和(如 sha256sum) 并记录清单。
  • 恢复
    1. 停止服务:确保 AdminServer 与所有受管服务器 均已停止。
    2. 恢复域与安全数据:将备份的 configldap 目录解压回原路径(覆盖前先备份当前目录)。
    3. 恢复应用与数据:将 WAR/EAR 放回部署目录或按原方式部署;恢复数据库到备份时间点。
    4. 启动与校验:先启动 AdminServer,确认 config.xml 与应用加载正常,再启动受管服务器;登录 Admin Console 校验数据源、部署、集群与安全配置;抽查关键业务。
    5. 回滚预案:准备“最近一次可用备份”与回滚脚本,异常时快速恢复。

三 自动化与增量方案

  • 定时全量备份脚本(示例)
    #!/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 达标。

0