首页主机资讯如何备份Linux WebLogic域

如何备份Linux WebLogic域

时间2025-12-12 23:12:03发布访客分类主机资讯浏览1098
导读:Linux WebLogic域备份实操指南 一 备份策略与准备 明确范围:WebLogic域的核心配置与运行时数据主要集中在**$DOMAIN_HOME**(含config与data等),外部数据库通常独立备份,日志用于审计与排障。 选择...

Linux WebLogic域备份实操指南

一 备份策略与准备

  • 明确范围:WebLogic域的核心配置与运行时数据主要集中在**$DOMAIN_HOME**(含configdata等),外部数据库通常独立备份,日志用于审计与排障。
  • 选择方式:
    • 冷备份:停机一致性最好,适合关键变更前或小型域。
    • 热备份:业务不停机,依赖应用对文件一致性的容忍度,建议先评估或演练。
  • 准备要点:
    • 确认**$DOMAIN_HOME路径与管理服务器URL/端口**,准备具有Admin权限的账号。
    • 规划备份保留周期与异地/离线副本,确保可恢复性。
    • 统一备份命名与存储目录,便于追溯与清理。

二 标准备份步骤

  • 冷备份(停机一致性优先)
    1. 停止服务(任一方式)
      • 管理节点执行:$DOMAIN_HOME/bin/stopWebLogic.sh
      • 或使用WLST:connect(‘weblogic’,‘密码’,‘t3://管理地址:端口’); shutdown()
    2. 打包域目录
      • tar -czvf /backup/weblogic_domain_$(date +%F).tar.gz -C $DOMAIN_HOME .
    3. 备份外部数据库(示例)
      • Oracle Data Pump:expdp 用户名/口令@SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=domain_$(date +%F).dmp LOGFILE=expdp_$(date +%F).log
    4. 备份日志(可选)
      • tar -czvf /backup/weblogic_logs_$(date +%F).tar.gz $DOMAIN_HOME/logs
    5. 启动服务
      • $DOMAIN_HOME/bin/startWebLogic.sh
  • 热备份(不停机,尽量在维护窗口)
    1. 仅打包配置与数据目录(避免运行时临时文件)
      • tar -czvf /backup/weblogic_domain_hot_$(date +%F).tar.gz $DOMAIN_HOME/config $DOMAIN_HOME/data
    2. 备份外部数据库(按RPO要求执行)
    3. 备份日志(可选)
    4. 校验备份可用性(见第四部分)
  • 自动化与增量
    • 定时任务(crontab)示例(每日02:00冷备):
      • 0 2 * * * /opt/scripts/backup_wls.sh > > /var/log/wls_backup.log 2> & 1
    • 增量同步(rsync,适合频繁备份与快速回滚)
      • rsync -avz --delete $DOMAIN_HOME/ /backup/weblogic_domain_incremental/
    • 说明:WebLogic官方并无通用的“一键WLBackup.sh”工具,常见做法为脚本化打包与WLST配合。

三 备份脚本示例

#!/usr/bin/env bash
# 文件名:backup_wls.sh
# 功能:WebLogic域冷备份 + 数据库导出 + 日志归档 + 保留策略

set -Eeuo pipefail
export PATH=/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin

# 参数
DOMAIN_HOME="/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain"
BACKUP_ROOT="/backup/weblogic"
DATE_TAG=$(date +%F)
RETENTION_DAYS=7

# 数据库(Oracle示例,按实际修改)
DB_USER="system"
DB_PWD="YourDBPass"
DB_SID="orcl"
DUMP_DIR="DATA_PUMP_DIR"
DMP_FILE="wls_backup_${
DATE_TAG}
.dmp"
LOG_FILE="expdp_${
DATE_TAG}
    .log"

# 工具检查
for cmd in tar gzip;
     do
  command -v "$cmd" >
    /dev/null 2>
    &
1 || {
     echo "缺少命令: $cmd";
     exit 1;
 }

done

# 创建备份目录
mkdir -p "$BACKUP_ROOT"

# 1) 停止WebLogic
echo "[$(date)] 停止WebLogic..."
"$DOMAIN_HOME/bin/stopWebLogic.sh" || {
     echo "停止失败";
     exit 1;
 }


# 2) 打包域目录
echo "[$(date)] 打包域目录 $DOMAIN_HOME ..."
tar -czvf "$BACKUP_ROOT/wls_domain_${
DATE_TAG}
.tar.gz" -C "$DOMAIN_HOME" .

# 3) 备份数据库(示例:Oracle Data Pump)
echo "[$(date)] 导出数据库 $DB_SID ..."
expdp "$DB_USER/$DB_PWD@$DB_SID" \
  DIRECTORY="$DUMP_DIR" \
  DUMPFILE="$DMP_FILE" \
  LOGFILE="$LOG_FILE" \
  PARALLEL=2 \
  COMPRESSION=ALL || {
     echo "数据库导出失败";
     exit 1;
 }


# 4) 归档日志(可选)
echo "[$(date)] 归档日志..."
tar -czvf "$BACKUP_ROOT/wls_logs_${
DATE_TAG}
    .tar.gz" -C "$DOMAIN_HOME" logs

# 5) 启动WebLogic
echo "[$(date)] 启动WebLogic..."
"$DOMAIN_HOME/bin/startWebLogic.sh" &
    

# 6) 清理旧备份
echo "[$(date)] 清理 $RETENTION_DAYS 天前备份..."
find "$BACKUP_ROOT" -type f -name "wls_*_*.tar.gz" -mtime +$RETENTION_DAYS -delete

echo "[$(date)] 备份完成:$BACKUP_ROOT"
  • 使用方式:
    • chmod +x backup_wls.sh
    • 0 2 * * * /opt/scripts/backup_wls.sh > > /var/log/wls_backup.log 2> & 1
  • 提示:数据库段可按需替换为mysqldumppg_dump等;如无停机窗口,请移除停止/启动步骤,仅备份configdata

四 恢复与验证

  • 冷备份恢复
    1. 停止服务:$DOMAIN_HOME/bin/stopWebLogic.sh
    2. 清理或重命名现有域目录(谨慎)
    3. 解压备份:tar -xzvf /backup/weblogic_domain_YYYY-MM-DD.tar.gz -C /目标父目录
    4. 恢复数据库:impdp 用户名/口令@SID DIRECTORY=DATA_PUMP_DIR DUMPFILE=wls_backup_YYYY-MM-DD.dmp LOGFILE=impdp_YYYY-MM-DD.log
    5. 启动服务:$DOMAIN_HOME/bin/startWebLogic.sh
    6. 登录Admin Console核对数据源、部署、JMS、安全领域等关键配置
  • 热备份恢复
    • 解压覆盖config/data后,优先重启受影响Managed Server,再重启Admin Server,以减少业务中断
  • 验证要点
    • 校验备份文件完整性(如tar tvf、gzip -t)
    • 核对关键配置与最近变更是否生效
    • 抽样验证应用可访问性与数据库连接
    • 记录恢复演练结果与恢复时间目标(RTO/RPO)

五 注意事项与最佳实践

  • 一致性优先:涉及JDBC持久化、JMS存储、嵌入式LDAP等状态数据时,优先选择停机窗口进行冷备;热备务必评估文件一致性影响。
  • 目录取舍:避免备份cache、tmp等运行时临时目录,减少备份体积与恢复干扰。
  • 权限与账号:备份与恢复使用最小权限账号;数据库导出账号仅授予必要权限。
  • 多地/离线副本:至少保留一份异地或离线副本,定期演练恢复流程。
  • 监控与告警:对备份任务加日志与告警,失败及时通知;保留变更前后成对备份,便于回滚。

声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!


若转载请注明出处: 如何备份Linux WebLogic域
本文地址: https://pptw.com/jishu/771041.html
Debian Context如何进行系统备份 如何在Debian Context中配置网络

游客 回复需填写必要信息