温馨提示×

centos里weblogic备份怎么操作

小樊
32
2025-12-05 22:33:25
栏目: 智能运维

CentOS 上 WebLogic 备份与恢复实操

一 核心原则与准备

  • 明确备份范围:至少包含 域配置目录(domain)部署的应用(WAR/EAR)、以及 数据库(WebLogic 多为外部数据库,需单独备份)。日志可选择性备份。
  • 一致性优先:为保证配置与数据一致性,建议在备份前将 AdminServer 与受管 Server 停止;若业务允许,可采用 离线备份(停机)或 在线备份(不停机,但需确认应用对一致性要求)。
  • 权限与目录:使用具备 WebLogic 运行用户root 权限执行;提前规划 备份存放路径(如 /opt/backup_weblogic)与 保留周期
  • 校验与异地:定期做 恢复演练 校验可用性;将备份 复制至异地/对象存储 提升容灾能力。

二 标准操作步骤

  • 停止服务
    进入域目录执行停止脚本(示例):
    cd /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain
    ./stopWebLogic.sh
    提示:若使用 Node Manager,可先停受管 Server,再停 AdminServer。

  • 备份域配置
    打包整个域目录(包含 config.xml、启动脚本、安全配置 等):
    tar -czvf /opt/backup_weblogic/domain_$(date +%F).tar.gz -C /home/weblogic/Oracle/Middleware/user_projects/domains your_domain
    说明:域目录通常位于 /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain

  • 备份应用与数据

    • 应用归档:
      cp /path/to/applications/.war /opt/backup_weblogic/apps/
      cp /path/to/applications/
      .ear /opt/backup_weblogic/apps/
    • 数据库:如使用 Oracle Data Pump,在数据库侧执行(示例):
      expdp system/password@SID directory=DATA_PUMP_DIR dumpfile=weblogic_$(date +%F).dmp logfile=expdp_$(date +%F).log
      提示:应用若由控制台热部署,也可在控制台导出/保存部署归档。
  • 备份日志(可选)
    tar -czvf /opt/backup_weblogic/domain_logs_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/servers/**/logs

  • 压缩与异地拷贝
    gzip 已足够;如需异地:
    scp /opt/backup_weblogic/domain_$(date +%F).tar.gz user@remote:/backup/weblogic/

  • 启动服务
    cd /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain
    ./startWebLogic.sh

三 自动化脚本与定时任务

  • 示例脚本 backup_wls.sh(按实际路径修改)
    #!/bin/bash
    set -e
    export DATE=$(date +%F_%H%M%S)
    export DOMAIN_HOME=/home/weblogic/Oracle/Middleware/user_projects/domains/your_domain
    export BACKUP_BASE=/opt/backup_weblogic
    export LOGS=$BACKUP_BASE/backup_$DATE.log
    
    mkdir -p $BACKUP_BASE
    
    {
      echo "[$(date)] 停止 WebLogic"
      $DOMAIN_HOME/stopWebLogic.sh
    
      echo "[$(date)] 备份域配置"
      tar -czf $BACKUP_BASE/domain_$DATE.tar.gz -C $DOMAIN_HOME .
    
      echo "[$(date)] 备份应用"
      mkdir -p $BACKUP_BASE/apps_$DATE
      cp $DOMAIN_HOME/autodeploy/*.war $BACKUP_BASE/apps_$DATE/ 2>/dev/null || true
      cp $DOMAIN_HOME/autodeploy/*.ear $BACKUP_BASE/apps_$DATE/ 2>/dev/null || true
    
      echo "[$(date)] 备份日志(可选)"
      tar -czf $BACKUP_BASE/logs_$DATE.tar.gz -C $DOMAIN_HOME servers **/logs
    
      echo "[$(date)] 清理 7 天前备份"
      find $BACKUP_BASE -maxdepth 1 -type f -name "domain_*.tar.gz" -mtime +7 -delete
      find $BACKUP_BASE -maxdepth 1 -type f -name "apps_*.tar.gz" -mtime +7 -delete
      find $BACKUP_BASE -maxdepth 1 -type f -name "logs_*.tar.gz" -mtime +7 -delete
    
      echo "[$(date)] 启动 WebLogic"
      $DOMAIN_HOME/startWebLogic.sh
    } >> $LOGS 2>&1
    
  • 定时任务(每天 02:00 执行):
    0 2 * * * /bin/bash /opt/backup_weblogic/backup_wls.sh

四 恢复步骤与要点

  • 停止服务:同备份前步骤,先停 AdminServer/受管 Server
  • 恢复域配置:
    tar -xzvf /opt/backup_weblogic/domain_YYYY-MM-DD.tar.gz -C /home/weblogic/Oracle/Middleware/user_projects/domains/
  • 恢复应用:将 WAR/EAR 拷回 autodeploy 或重新部署。
  • 恢复数据库:如使用 Data Pump:
    impdp system/password@SID directory=DATA_PUMP_DIR dumpfile=weblogic_YYYY-MM-DD.dmp logfile=impdp_YYYY-MM-DD.log
  • 启动服务:
    cd /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain
    ./startWebLogic.sh
  • 验证:登录 Admin Console 检查 数据源、部署应用、JVM 参数 等是否正常。

五 常见注意事项与建议

  • 一致性取舍:停机备份最稳妥;若必须在线,请确保 数据源/应用 支持热备份策略,并在低峰期执行。
  • 目录与权限:确认 域目录、应用目录、备份目录属主/权限 正确,避免因权限导致恢复失败。
  • 数据库是关键:多数业务状态在 数据库,务必单独制定 数据库备份与保留策略(如 RMAN/Data Pump),并与 WebLogic 备份时间窗口对齐。
  • 校验与演练:定期做 恢复演练备份完整性校验(如校验和、还原到测试环境)。
  • 保留与异地:建议 至少 7 天 滚动保留,并 同步至异地/对象存储;脚本中已实现 7 天清理,可按需调整。
  • 版本与路径:示例路径为常见默认路径,实际请以你的 安装路径与域名 为准。

0