- 首页 >
- 问答 >
-
智能运维 >
- Ubuntu系统下WebLogic的备份与恢复方法
Ubuntu系统下WebLogic的备份与恢复方法
小樊
38
2025-12-06 19:22:00
Ubuntu下WebLogic备份与恢复实操指南
一 备份策略与准备
- 备份范围建议覆盖:
- 域目录($DOMAIN_HOME,包含配置、部署、运行时数据);
- 若使用外部数据库,数据库全量/增量备份;
- 密钥与证书(如用于HTTPS/单向SSL的keystore/truststore);
- 启动脚本、环境变量、NFS挂载点配置等。
- 操作前准备:
- 以weblogic专用用户操作,避免权限问题;
- 选择低峰时段执行,减少对业务影响;
- 规划保留周期与异地/离线副本,并定期做恢复演练验证可用性。
- 常用目录示例:
- 域目录:/home/weblogic/domains/base_domain
- 管理控制台默认端口:7001(备份/恢复前后用于连通性验证)。
二 备份方法
- 方法A 域目录全量打包(推荐,简单可靠)
- 停止域:
- 管理服务器:执行 $DOMAIN_HOME/bin/stopWebLogic.sh
- 受管服务器:执行 $DOMAIN_HOME/bin/stopManagedWebLogic.sh <server_name> <admin_url>
- 打包域目录:
- 示例:tar -zcvf /backup/weblogic/base_domain_$(date +%F).tar.gz -C /home/weblogic/domains base_domain
- 可选:仅备份关键子目录(便于精细恢复)
- 配置:tar -zcvf config_$(date +%F).tar.gz $DOMAIN_HOME/config
- 数据:tar -zcvf data_$(date +%F).tar.gz $DOMAIN_HOME/data
- 启动域:
- 管理服务器:执行 $DOMAIN_HOME/bin/startWebLogic.sh
- 受管服务器:执行 $DOMAIN_HOME/bin/startManagedWebLogic.sh <server_name> <admin_url>
- 验证:访问控制台 http://:7001/console 并检查 $DOMAIN_HOME/servers//logs 无异常。
- 方法B 使用WLST脚本导出/导入配置(适合跨小版本迁移或做配置基线)
- 导出配置(在WLST中执行):
- readDomain(‘/home/weblogic/domains/base_domain’)
- writeDomain(‘/backup/weblogic/base_domain_exported’)
- 恢复配置(在WLST中执行):
- readDomain(‘/backup/weblogic/base_domain_exported’)
- writeDomain(‘/home/weblogic/domains/base_domain_restored’)
- 说明: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 同版本同路径恢复(最快速)
- 停止域(同备份步骤);
- 清理目标域目录(或重命名旧目录以作回滚);
- 解压备份包到目标位置:
- tar -xzvf /backup/weblogic/base_domain_2025-12-06.tar.gz -C /
- 启动域并验证控制台与日志。
- 场景2 跨主机/新路径恢复
- 安装同版本 WebLogic 与匹配的 JDK(如 JDK 8/11),创建同名域或准备空域目录;
- 将备份内容解压到目标 $DOMAIN_HOME;
- 按需调整 setDomainEnv.sh 中的 JAVA_HOME、内存参数、监听地址;
- 启动域并验证。
- 场景3 仅配置恢复(WLST导入)
- 使用WLST导入先前导出的域目录;
- 启动后核对数据源、JMS、安全领域等关键配置;
- 若涉及数据源连接串/密码变更,先在控制台或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.log 与 ManagedServer.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.log 与 ManagedServer.log,从最近一次变更点回溯。