Linux版 WebLogic 备份实操指南
一 备份范围与准备
- 明确备份范围:优先保护 域目录 $DOMAIN_HOME(含配置与运行时数据)、应用目录(若为文件系统部署)、以及 外部数据库(JDBC 数据源所指向的库)。域目录常见路径如:/home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>/ 或 /weblogic/domains/<domain_name>/。
- 选择备份时机:为保证一致性,建议在 低峰时段 进行;对一致性要求高的场景先 停止 WebLogic,或确保无部署/配置变更操作。
- 准备与权限:以具备 WebLogic 管理员或 root 权限的账号执行;提前规划 备份存放路径 与 保留周期,并准备 远程拷贝 或 对象存储 等异地存放方案。
二 手动备份步骤
- 停止服务(可选但推荐):
- 方式一:在域目录执行 $DOMAIN_HOME/bin/stopWebLogic.sh
- 方式二:使用 WLST 连接管理服务器后执行 shutdown()
- 备份域目录(核心):
- 命令示例:tar -czvf /opt/backup/weblogic_domain_$(date +%F).tar.gz -C $DOMAIN_HOME .
- 备份应用目录(若非由控制台/自动化部署管理):
- 示例:tar -czvf /opt/backup/weblogic_apps_$(date +%F).tar.gz /opt/weblogic/oracle/Middleware/user_projects/applications
- 备份数据库(如使用外部数据库):
- Oracle 示例:expdp system/password@SID directory=DATA_PUMP_DIR dumpfile=backup_$(date +%F).dmp logfile=expdp_$(date +%F).log
- 备份日志(可选):
- 示例:tar -czvf /opt/backup/weblogic_logs_$(date +%F).tar.gz $DOMAIN_HOME/servers//logs**
- 拷贝到安全位置(可选):
- 示例:scp /opt/backup/weblogic_domain_$(date +%F).tar.gz user@remote:/backup/
- 说明:缓存与临时目录(如 cache/、tmp/)通常无需纳入长期备份。
三 自动化备份脚本与定时任务
- 示例脚本(保留最近 7 天,含域与应用,按需扩展数据库与日志):
#!/bin/bash
DOMAIN_HOME="/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain"
APPS_DIR="/opt/weblogic/oracle/Middleware/user_projects/applications"
BACKUP_DIR="/opt/backup/weblogic"
DATE=$(date +%F_%H%M%S)
KEEP_DAYS=7
mkdir -p "$BACKUP_DIR"
"$DOMAIN_HOME/bin/stopWebLogic.sh" || true
tar -czvf "$BACKUP_DIR/domain_$DATE.tar.gz" -C "$DOMAIN_HOME" .
[ -d "$APPS_DIR" ] && tar -czvf "$BACKUP_DIR/apps_$DATE.tar.gz" -C "$APPS_DIR" .
"$DOMAIN_HOME/bin/startWebLogic.sh" &
find "$BACKUP_DIR" -type f -mtime +$KEEP_DAYS -name "*.tar.gz" -delete
- 定时任务(每天 02:00 执行):
- 执行 crontab -e,添加:0 2 * * * /path/to/backup_weblogic.sh >/var/log/backup_weblogic.log 2>&1
- 提示:如采用 WLST 自动化,可将导出/导入配置纳入脚本统一编排。
四 恢复步骤与验证
- 停止服务:$DOMAIN_HOME/bin/stopWebLogic.sh
- 恢复域目录:
- 建议先备份当前目录,再恢复:tar -xzvf /opt/backup/weblogic_domain_YYYY-MM-DD_HHMMSS.tar.gz -C /(或解压到临时目录后 rsync 覆盖)
- 恢复应用(如适用):tar -xzvf /opt/backup/weblogic_apps_YYYY-MM-DD_HHMMSS.tar.gz -C /
- 恢复数据库(如适用):
- Oracle 示例:impdp system/password@SID directory=DATA_PUMP_DIR dumpfile=backup_YYYY-MM-DD.dmp logfile=impdp_YYYY-MM-DD.log
- 启动服务:$DOMAIN_HOME/bin/startWebLogic.sh
- 验证要点:
- 登录 Admin Console 检查 域配置、数据源连通性、部署应用 是否正常;
- 抽查关键业务功能与 最近日志 是否有异常。
五 备份策略与注意事项
- 策略建议:
- 全量备份建议 每日 执行,关键变更前后 即时 增量备份;
- 采用 3-2-1 策略:至少 3 份副本、2 种不同介质、1 份异地/离线;
- 定期做 恢复演练 与 校验和/还原测试,确保可用性。
- 注意事项:
- 一致性优先:配置变更或补丁窗口内避免备份;对高一致场景先停服务或使用维护模式;
- 权限与审计:备份与恢复账号遵循 最小权限;记录 操作人、时间、版本;
- 目录取舍:长期备份聚焦 $DOMAIN_HOME/config、data 等;cache、tmp 可忽略;
- 数据库优先:业务数据以 数据库备份 为准,域备份仅作配置与部署的载体。