温馨提示×

如何在Linux上备份WebLogic数据

小樊
37
2025-12-10 13:08:00
栏目: 智能运维

Linux上备份WebLogic数据的实用方案

一 备份范围与准备

  • 明确范围:优先保护 域配置部署应用域数据日志补丁/更新,必要时再补充 缓存与临时文件(仅用于缩短恢复后的重建时间,不作为一致性数据源)。
  • 常用目录示例(按实际安装路径调整):
    • 域目录:/home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>
    • 配置与数据:<domain_home>/config<domain_home>/data
    • 应用目录:<domain_home>/applications/opt/weblogic/oracle/Middleware/user_projects/applications
    • 日志目录:<domain_home>/servers//logs
    • 补丁目录:<MW_HOME>/utils/bsu/cache_dir
    • 缓存与临时:<server_instance>/cache<server_instance>/tmp
  • 一致性建议:对包含运行时状态的数据(如 configdata)进行备份前,优先 停止 WebLogic;对仅需配置级保护的场景,可在运行中备份,但需评估变更窗口与一致性风险。
  • 权限与账号:使用具备读取 域目录 与写入 备份目录 权限的账号(如 weblogicroot),并确保备份存储位置 安全可靠

二 备份方法与步骤

  • 方法一 冷备份(停机一致性最佳)
    1. 停止服务:执行 <domain_home>/bin/stopWebLogic.sh(或相应停止脚本)。
    2. 打包域目录:
      tar -czvf /opt/backup/weblogic_domain_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>
    3. 备份应用与日志(可选):
      tar -czvf /opt/backup/weblogic_apps_$(date +%F).tar.gz /opt/weblogic/oracle/Middleware/user_projects/applications
      tar -czvf /opt/backup/weblogic_logs_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>/servers/**/logs
    4. 备份补丁(可选):
      tar -czvf /opt/backup/weblogic_patches_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/utils/bsu/cache_dir
    5. 启动服务:执行 <domain_home>/bin/startWebLogic.sh
  • 方法二 热备份(运行中,侧重配置与部署)
    • 仅打包配置与部署目录(不建议包含运行时 data):
      tar -czvf /opt/backup/weblogic_config_apps_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>/config /home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>/applications
    • 如需近实时性,可结合 rsync 做增量同步:
      rsync -avz --delete /home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>/config/ /backup/weblogic_config/
  • 方法三 数据库层备份(如使用外部数据库)
    • 使用 Oracle Data Pump
      expdp system/@ directory=DATA_PUMP_DIR dumpfile=weblogic_db_$(date +%F).dmp logfile=expdp_$(date +%F).log
  • 方法四 自动化脚本与定时任务
    • 示例脚本(可按需增删项):
      #!/bin/bash
      BACKUP_DIR=“/opt/backup_weblogic”
      DOMAIN_HOME=“/home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>”
      DATE=$(date +%F)
      mkdir -p $BACKUP_DIR
      tar -czvf $BACKUP_DIR/weblogic_domain_$DATE.tar.gz $DOMAIN_HOME
      tar -czvf $BACKUP_DIR/weblogic_apps_$DATE.tar.gz $DOMAIN_HOME/applications
      find $BACKUP_DIR -type f -mtime +7 -delete
    • 定时执行(每天 02:00):
      0 2 * * * /opt/backup_weblogic/backup_weblogic.sh。

三 恢复步骤

  • 域与配置恢复
    1. 停止服务:<domain_home>/bin/stopWebLogic.sh
    2. 恢复域目录:
      tar -xzvf /opt/backup/weblogic_domain_YYYY-MM-DD.tar.gz -C /
    3. 如需回滚应用与日志(可选):
      tar -xzvf /opt/backup/weblogic_apps_YYYY-MM-DD.tar.gz -C /
      tar -xzvf /opt/backup/weblogic_logs_YYYY-MM-DD.tar.gz -C /
    4. 启动服务:<domain_home>/bin/startWebLogic.sh
    5. 登录 Admin Console 验证 数据源、部署应用、JVM 参数 等关键配置。
  • 数据库恢复(如使用 Data Pump)
    • 先清理或新建目标对象,再导入:
      impdp system/@ directory=DATA_PUMP_DIR dumpfile=weblogic_db_YYYY-MM-DD.dmp logfile=impdp_YYYY-MM-DD.log。

四 备份策略与运维建议

  • 频率与保留:按业务 RPO/RTO 设定频率(如每日全备),保留 7–30 天 并做 异地/离线 副本(如对象存储/挂载盘),定期做 恢复演练 校验可用性与完整性。
  • 一致性优先:对含运行时状态的目录(如 configdata)优先采用 停机冷备;运行中备份仅用于配置与部署的快速回滚。
  • 目录取舍:不建议将 cachetmp 纳入长期备份(可单独归档用于问题排查),避免无效增长与恢复干扰。
  • 安全与合规:备份文件加密与 最小权限 访问控制;对含明文口令的脚本与配置文件设置 适当权限脱敏
  • 监控与告警:对备份任务加 日志与返回码 检查,失败即 告警;定期校验备份 可用性与完整性(如解压校验、清单比对)。

0