WebLogic在Linux上如何备份
导读:Linux上备份WebLogic的可执行方案 一 备份范围与准备 明确范围:优先备份域目录(Domain)与中间件主目录(Middleware),必要时再补充日志与补丁。 常用目录示例: 域目录:/home/weblogic/Oracl...
Linux上备份WebLogic的可执行方案
一 备份范围与准备
- 明确范围:优先备份域目录(Domain)与中间件主目录(Middleware),必要时再补充日志与补丁。
- 常用目录示例:
- 域目录:/home/weblogic/Oracle/Middleware/user_projects/domains/< domain_name>
- 中间件目录:/home/weblogic/Oracle/Middleware
- 补丁目录:/home/weblogic/Oracle/Middleware/utils/bsu/cache_dir
- 建议准备:
- 备份目标路径(如:/opt/backup_weblogic),并确保磁盘空间充足。
- 备份账号具备对域目录与中间件目录的读写权限。
- 如为生产环境,优先选择停机一致性备份;若需在线备份,务必评估应用对JMS持久化、JDBC数据源、集群状态的一致性要求。
二 标准备份步骤
- 1 停止服务
- 进入域的 bin 目录执行:./stopWebLogic.sh
- 确认进程已退出:ps -ef | grep weblogic
- 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/Middleware_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware
- 4 备份补丁(WebLogic 10.3.x 常用 bsu)
- tar -czvf /opt/backup_weblogic/Patches_$(date +%F).tar.gz /home/weblogic/Oracle/Middleware/utils/bsu/cache_dir
- 5 备份日志(可选)
- cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/< domain_name> /logs /opt/backup_weblogic/logs_$(date +%F)
- 6 传输与校验
- 异地/云端拷贝:scp /opt/backup_weblogic/*.tar.gz user@remote:/backup/
- 校验一致性:sha256sum /opt/backup_weblogic/*.tar.gz
- 如需保留历史,可按日期命名并定期清理
三 自动化与定时备份脚本
- 示例脚本(全量备份域与补丁,保留7天):
#!/bin/bash
# 配置
BACKUP_DIR="/opt/backup_weblogic"
DATE=$(date +%F_%H%M%S)
MW_HOME="/home/weblogic/Oracle/Middleware"
DOMAIN_NAME="<
your_domain>
"
DOMAIN_DIR="$MW_HOME/user_projects/domains/$DOMAIN_NAME"
BSU_CACHE="$MW_HOME/utils/bsu/cache_dir"
# 创建备份目录
mkdir -p "$BACKUP_DIR"
# 停止服务
"$DOMAIN_DIR/bin/stopWebLogic.sh" >
/dev/null 2>
&
1
sleep 10
if pgrep -f weblogic >
/dev/null;
then
echo "WebLogic 未能停止,请检查进程后重试。" >
&
2
exit 1
fi
# 备份
tar -czf "$BACKUP_DIR/domain_${
DOMAIN_NAME}
_${
DATE}
.tar.gz" -C "$MW_HOME/user_projects/domains" "$DOMAIN_NAME"
tar -czf "$BACKUP_DIR/Middleware_${
DATE}
.tar.gz" -C "$MW_HOME" .
tar -czf "$BACKUP_DIR/Patches_${
DATE}
.tar.gz" -C "$BSU_CACHE" .
# 启动服务
"$DOMAIN_DIR/bin/startWebLogic.sh" >
/dev/null 2>
&
1 &
# 清理7天前
find "$BACKUP_DIR" -type f -mtime +7 -name "*.tar.gz" -delete
echo "Backup finished at $DATE"
- 定时任务(每天02:00执行):
- crontab -e
- 0 2 * * * /path/to/backup_weblogic.sh
四 恢复流程要点
- 1 停止服务:进入域目录执行 ./stopWebLogic.sh
- 2 恢复域目录:tar -xzvf /opt/backup_weblogic/domain__.tar.gz -C /
- 3 恢复中间件(如执行了整库备份):tar -xzvf /opt/backup_weblogic/Middleware_.tar.gz -C /
- 4 恢复补丁(如需要):tar -xzvf /opt/backup_weblogic/Patches_.tar.gz -C /
- 5 启动服务:./startWebLogic.sh
- 6 验证:登录 WebLogic Admin Console 检查数据源、部署应用、JMS、集群状态是否正常
五 注意事项与最佳实践
- 一致性优先:涉及JMS持久化/事务日志的场景,停机备份更稳妥;若必须在线备份,确保应用能容忍短暂不一致或采用支持在线一致性快照的存储/数据库方案。
- 备份粒度:常规以域目录为主;跨版本迁移或大规模变更时,再考虑整Middleware备份。
- 补丁管理:WebLogic 10.3.x 打补丁前也建议先备份(含 bsu 缓存),回滚更方便。
- 保留策略:至少保留最近7天,关键系统建议30天以上并做异地/云端副本。
- 校验与演练:定期做恢复演练与校验和核对,确保备份可用。
声明:本文内容由网友自发贡献,本站不承担相应法律责任。对本内容有异议或投诉,请联系2913721942#qq.com核实处理,我们将尽快回复您,谢谢合作!
若转载请注明出处: WebLogic在Linux上如何备份
本文地址: https://pptw.com/jishu/773225.html
