Linux WebLogic 备份实用指南
一 备份范围与准备
- 明确范围:WebLogic 的配置与运行时数据主要在域目录(常见路径如:/home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>/ 或 /weblogic/domains/<domain_name>/),其中包含 config/、data/、servers/ 等子目录;应用通常位于 applications/ 或域下的 autodeploy/;日志位于 logs/。外部数据(如 JDBC 指向的数据库)需单独备份。为减少不一致,建议在备份前将受管服务器置于维护模式并停止AdminServer(必要时停整个域)。备份使用的账号需具备读取域目录与数据库的权限。
二 方法一 文件系统冷备份 tar 打包(通用、快速)
- 步骤
- 进入域目录上级并确认路径:cd $DOMAIN_HOME/…;ls $DOMAIN_HOME。
- 停止服务:
- 仅停 AdminServer:nohup $DOMAIN_HOME/bin/stopWebLogic.sh &
- 停整个域:在 $DOMAIN_HOME/bin 执行 ./stopManagedWebLogic.sh <server_name>(逐台),再停 AdminServer。
- 打包域目录(示例):
tar -czvf /backup/weblogic_$(date +%F).tar.gz $DOMAIN_HOME
如需单独打包关键子目录:
tar -czvf /backup/weblogic_config_$(date +%F).tar.gz $DOMAIN_HOME/config
tar -czvf /backup/weblogic_data_$(date +%F).tar.gz $DOMAIN_HOME/data
- 可选:备份应用与日志(若不在域目录内):
tar -czvf /backup/weblogic_apps_$(date +%F).tar.gz /opt/weblogic/…/applications
tar -czvf /backup/weblogic_logs_$(date +%F).tar.gz $DOMAIN_HOME/logs
- 将备份拷贝到安全位置(如异地/对象存储)或做远端拷贝:
scp /backup/weblogic_$(date +%F).tar.gz user@remote:/backup/
- 说明:该方式操作简单、可离线保存,适合定期全量备份与迁移;恢复时解压到原路径即可。
三 方法二 数据库与应用数据的备份
- 数据库:若业务数据在外部数据库(如 Oracle),使用数据库原生工具备份(示例为 Data Pump):
- 备份:expdp system/password@SID directory=DATA_PUMP_DIR dumpfile=backup_$(date +%F).dmp logfile=expdp_$(date +%F).log
- 恢复:impdp system/password@SID directory=DATA_PUMP_DIR dumpfile=backup_$(date +%F).dmp logfile=impdp_$(date +%F).log
- 应用归档:对 WAR/EAR 等可分发包,建议连同版本与校验信息一并归档保存,便于快速回滚与审计。
四 自动化与增量备份
- Shell 脚本示例(全量打包 + 7 天保留 + 远端拷贝)
- 增量备份:对静态内容或归档目录可用 rsync 做增量同步(示例):
rsync -avz --delete /path/to/domain/ /backup/weblogic/domain_rsync/。
五 恢复与验证
- 文件系统恢复
- 停服务:同备份前步骤。
- 清理或重命名原域目录,然后解压:
tar -xzvf /backup/weblogic_YYYY-MM-DD.tar.gz -C /
- 启动服务:
$DOMAIN_HOME/bin/startWebLogic.sh
- 数据库恢复:使用前述 impdp 导入对应 dmp 文件。
- 验证要点:登录 Admin Console 检查数据源、部署应用、JVM 参数;抽查关键 config.xml 与 startWebLogic.sh;查看 logs/ 启动与错误日志;如涉及集群,逐节点核对。