温馨提示×

Ubuntu系统下WebLogic的备份与恢复方法

小樊
38
2025-12-06 19:22:00
栏目: 智能运维

Ubuntu下WebLogic备份与恢复实操指南

一 备份策略与准备

  • 备份范围建议覆盖:
    1. 域目录($DOMAIN_HOME,包含配置、部署、运行时数据);
    2. 若使用外部数据库,数据库全量/增量备份
    3. 密钥与证书(如用于HTTPS/单向SSL的keystore/truststore);
    4. 启动脚本、环境变量、NFS挂载点配置等。
  • 操作前准备:
    • weblogic专用用户操作,避免权限问题;
    • 选择低峰时段执行,减少对业务影响;
    • 规划保留周期与异地/离线副本,并定期做恢复演练验证可用性。
  • 常用目录示例:
    • 域目录:/home/weblogic/domains/base_domain
    • 管理控制台默认端口:7001(备份/恢复前后用于连通性验证)。

二 备份方法

  • 方法A 域目录全量打包(推荐,简单可靠)
    1. 停止域:
      • 管理服务器:执行 $DOMAIN_HOME/bin/stopWebLogic.sh
      • 受管服务器:执行 $DOMAIN_HOME/bin/stopManagedWebLogic.sh <server_name> <admin_url>
    2. 打包域目录:
      • 示例:tar -zcvf /backup/weblogic/base_domain_$(date +%F).tar.gz -C /home/weblogic/domains base_domain
    3. 可选:仅备份关键子目录(便于精细恢复)
      • 配置:tar -zcvf config_$(date +%F).tar.gz $DOMAIN_HOME/config
      • 数据:tar -zcvf data_$(date +%F).tar.gz $DOMAIN_HOME/data
    4. 启动域:
      • 管理服务器:执行 $DOMAIN_HOME/bin/startWebLogic.sh
      • 受管服务器:执行 $DOMAIN_HOME/bin/startManagedWebLogic.sh <server_name> <admin_url>
    5. 验证:访问控制台 http://:7001/console 并检查 $DOMAIN_HOME/servers//logs 无异常。
  • 方法B 使用WLST脚本导出/导入配置(适合跨小版本迁移或做配置基线)
    1. 导出配置(在WLST中执行):
      • readDomain(‘/home/weblogic/domains/base_domain’)
      • writeDomain(‘/backup/weblogic/base_domain_exported’)
    2. 恢复配置(在WLST中执行):
      • readDomain(‘/backup/weblogic/base_domain_exported’)
      • writeDomain(‘/home/weblogic/domains/base_domain_restored’)
    3. 说明:WLST方式侧重配置与部署描述符,对**运行时数据(如JMS持久化、诊断数据)**不覆盖;必要时仍需结合域目录备份。
  • 方法C 远程/增量备份(可选)
    • 使用 rsync 将域目录或关键子目录同步到远程存储:
      • rsync -avz --delete /home/weblogic/domains/base_domain/ backup@10.0.0.10:/backup/weblogic/base_domain/
    • 结合 cron 做定时任务(示例每日02:00):
      • 0 2 * * * /opt/scripts/backup_wls.sh
  • 数据库备份(如使用外部数据库)
    • 使用数据库原生工具执行全量/增量备份(如物理备份或逻辑导出),并与域备份时间点对齐,便于一致性恢复。

三 恢复方法

  • 场景1 同版本同路径恢复(最快速)
    1. 停止域(同备份步骤);
    2. 清理目标域目录(或重命名旧目录以作回滚);
    3. 解压备份包到目标位置:
      • tar -xzvf /backup/weblogic/base_domain_2025-12-06.tar.gz -C /
    4. 启动域并验证控制台与日志。
  • 场景2 跨主机/新路径恢复
    1. 安装同版本 WebLogic 与匹配的 JDK(如 JDK 8/11),创建同名域或准备空域目录;
    2. 将备份内容解压到目标 $DOMAIN_HOME
    3. 按需调整 setDomainEnv.sh 中的 JAVA_HOME、内存参数、监听地址;
    4. 启动域并验证。
  • 场景3 仅配置恢复(WLST导入)
    1. 使用WLST导入先前导出的域目录;
    2. 启动后核对数据源、JMS、安全领域等关键配置;
    3. 若涉及数据源连接串/密码变更,先在控制台或WLST中更新后再启动受管服务器。
  • 场景4 数据库恢复
    • 按数据库备份方案执行时间点恢复,确保与域备份的一致性窗口匹配,再启动WebLogic进行连通性验证。

四 自动化与验证

  • 自动化脚本示例(含停启与校验,按需调整)
    • 备份脚本 backup_wls.sh:
      • #!/bin/bash
        set -e
        DOMAIN_HOME=/home/weblogic/domains/base_domain
        BACKUP_DIR=/backup/weblogic
        TS=$(date +%F_%H%M%S)
        $DOMAIN_HOME/bin/stopWebLogic.sh
        tar -zcvf $BACKUP_DIR/base_domain_$TS.tar.gz -C $DOMAIN_HOME .
        $DOMAIN_HOME/bin/startWebLogic.sh &
        echo “Backup finished: $BACKUP_DIR/base_domain_$TS.tar.gz”
    • 恢复脚本 restore_wls.sh:
      • #!/bin/bash
        set -e
        DOMAIN_HOME=/home/weblogic/domains/base_domain
        BACKUP_PKG=/backup/weblogic/base_domain_2025-12-06.tar.gz
        $DOMAIN_HOME/bin/stopWebLogic.sh
        rm -rf $DOMAIN_HOME/*
        tar -xzvf $BACKUP_PKG -C $DOMAIN_HOME
        $DOMAIN_HOME/bin/startWebLogic.sh &
        echo “Restore finished, check $DOMAIN_HOME/servers/AdminServer/logs/AdminServer.log”
  • 验证要点
    • 控制台可登录(默认端口 7001),关键应用可访问;
    • 检查 AdminServer.logManagedServer.log 无启动错误;
    • 核对 JDBC/JMS/数据源连接池、线程池、SSL证书等关键配置;
    • 定期做恢复演练备份完整性校验(如校验和/还原测试)。

五 常见问题与排错

  • 权限问题:确保 weblogic 用户对域目录与备份目录拥有读写权限(必要时 chown -R weblogic:weblogic)。
  • JDK不匹配:确认 JAVA_HOME 指向与WebLogic版本匹配的 JDK 8/11,否则可能出现启动失败或类库不兼容。
  • 端口冲突:恢复后若端口被占用,检查 $DOMAIN_HOME/config/config.xml 中的 ListenPort 与系统占用情况。
  • 数据源不可用:核对 URL/驱动/凭据,必要时在控制台或WLST中更新后再启动受管服务器。
  • 日志定位:优先查看 AdminServer.logManagedServer.log,从最近一次变更点回溯。

0