如何在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
- 一致性建议:对包含运行时状态的数据(如 config、data)进行备份前,优先 停止 WebLogic;对仅需配置级保护的场景,可在运行中备份,但需评估变更窗口与一致性风险。
- 权限与账号:使用具备读取 域目录 与写入 备份目录 权限的账号(如 weblogic 或 root),并确保备份存储位置 安全可靠。
二 备份方法与步骤
- 方法一 冷备份(停机一致性最佳)
- 停止服务:执行 <domain_home>/bin/stopWebLogic.sh(或相应停止脚本)。
- 打包域目录:
tar -czvf /opt/backup/weblogic_domain_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>
- 备份应用与日志(可选):
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
- 备份补丁(可选):
tar -czvf /opt/backup/weblogic_patches_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/utils/bsu/cache_dir
- 启动服务:执行 <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。
三 恢复步骤
- 域与配置恢复
- 停止服务:<domain_home>/bin/stopWebLogic.sh。
- 恢复域目录:
tar -xzvf /opt/backup/weblogic_domain_YYYY-MM-DD.tar.gz -C /
- 如需回滚应用与日志(可选):
tar -xzvf /opt/backup/weblogic_apps_YYYY-MM-DD.tar.gz -C /
tar -xzvf /opt/backup/weblogic_logs_YYYY-MM-DD.tar.gz -C /
- 启动服务:<domain_home>/bin/startWebLogic.sh。
- 登录 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 天 并做 异地/离线 副本(如对象存储/挂载盘),定期做 恢复演练 校验可用性与完整性。
- 一致性优先:对含运行时状态的目录(如 config、data)优先采用 停机冷备;运行中备份仅用于配置与部署的快速回滚。
- 目录取舍:不建议将 cache、tmp 纳入长期备份(可单独归档用于问题排查),避免无效增长与恢复干扰。
- 安全与合规:备份文件加密与 最小权限 访问控制;对含明文口令的脚本与配置文件设置 适当权限 与 脱敏。
- 监控与告警:对备份任务加 日志与返回码 检查,失败即 告警;定期校验备份 可用性与完整性(如解压校验、清单比对)。