温馨提示×

WebLogic在Ubuntu上的备份与恢复操作

小樊
43
2025-10-06 04:45:44
栏目: 智能运维

WebLogic在Ubuntu上的备份与恢复操作指南

一、备份操作

1. 准备工作

  • 确认状态:备份前需停止WebLogic服务(避免配置文件被修改导致不一致),可使用./stopWebLogic.sh(Admin Server)和./stopManagedWebLogic.sh <managed_server_name> <admin_url>(受管服务器)命令。
  • 确认权限:确保备份用户对域目录(如$DOMAIN_HOME,通常为/home/weblogic/Oracle/Middleware/user_projects/domains/<domain_name>)有读写权限,建议使用chown -R weblogic:weblogic $DOMAIN_HOME修改所有权。

2. 核心备份内容及方法

  • 配置文件备份
    域的核心配置(如config.xmlboot.propertiessecurity目录)位于$DOMAIN_HOME/config目录,使用tar命令打包备份:
    tar cvpzf /opt/backup/weblogic_config_$(date +%Y%m%d).tgz -C $DOMAIN_HOME config
    
  • 整个域目录备份
    备份整个域目录(包含应用程序、日志、临时文件等),使用ziptar命令:
    zip -r /opt/backup/weblogic_domain_$(date +%Y%m%d).zip $DOMAIN_HOME
    
  • 应用程序备份
    备份部署的应用程序(WAR/EAR包),通常位于$DOMAIN_HOME/servers/<server_name>/deployments目录,直接复制或打包:
    cp -r $DOMAIN_HOME/servers/admin_server/deployments /opt/backup/applications_$(date +%Y%m%d)
    
  • 数据库备份(可选)
    若域连接Oracle数据库,使用expdp导出数据(需提前安装Oracle Data Pump):
    expdp system/password@SID directory=DATA_PUMP_DIR dumpfile=weblogic_db_backup.dmp
    

3. 定时备份(可选但推荐)

  • 编写备份脚本(如/opt/weblogic/backup_weblogic.sh),内容如下:
    #!/bin/bash
    DOMAIN_HOME=/home/weblogic/Oracle/Middleware/user_projects/domains/base_domain
    BACKUP_DIR=/opt/backup
    DATE=$(date +%Y%m%d)
    tar cvpzf $BACKUP_DIR/weblogic_config_$DATE.tgz -C $DOMAIN_HOME config
    find $BACKUP_DIR -name "weblogic_config_*" -mtime +30 -exec rm {} \;  # 删除30天前的备份
    
  • 添加执行权限并设置定时任务:
    chmod +x /opt/weblogic/backup_weblogic.sh
    crontab -e
    
    添加以下内容(每周日凌晨2点执行):
    0 2 * * 0 /opt/weblogic/backup_weblogic.sh
    

4. 注意事项

  • 一致性:备份前停止服务或锁定配置(如config.xml),避免备份过程中文件被修改。
  • 存储安全:将备份文件复制到外部存储(如NAS、云存储),避免本地磁盘故障导致数据丢失。
  • 测试备份:定期测试备份文件的完整性(如解压后检查config.xml是否存在)。

二、恢复操作

1. 准备工作

  • 环境要求:确保Ubuntu上安装了与备份时相同版本的WebLogic Server,并配置好环境变量(如JAVA_HOMEWL_HOME)。
  • 停止服务:恢复前停止所有WebLogic服务(Admin Server和受管服务器),避免冲突。

2. 核心恢复步骤

  • 恢复配置文件
    将备份的配置文件解压到原域目录的config目录:
    tar xvpzf /opt/backup/weblogic_config_$(date +%Y%m%d).tgz -C $DOMAIN_HOME
    
  • 恢复应用程序
    将备份的应用程序复制到原部署目录:
    cp -r /opt/backup/applications_$(date +%Y%m%d)/deployments/* $DOMAIN_HOME/servers/admin_server/deployments/
    
  • 恢复数据库(可选)
    若备份了数据库,使用impdp导入数据:
    impdp system/password@SID directory=DATA_PUMP_DIR dumpfile=weblogic_db_backup.dmp
    

3. 启动服务并验证

  • 启动服务
    使用startWebLogic.sh启动Admin Server,使用startManagedWebLogic.sh启动受管服务器:
    cd $DOMAIN_HOME/bin
    ./startWebLogic.sh  # 启动Admin Server
    ./startManagedWebLogic.sh managed_server1 http://admin_server:7001  # 启动受管服务器
    
  • 验证恢复
    登录WebLogic管理控制台(http://<server_ip>:7001/console),检查域配置(如服务器状态、应用程序部署情况)是否正常。

三、常见问题排查

  • 权限问题:若恢复后无法启动服务,检查域目录及子目录的权限(确保weblogic用户有读写权限)。
  • 配置冲突:若启动时报配置错误,检查config.xml是否有语法错误(可使用xmllint工具验证)。
  • 服务无法启动:查看日志文件($DOMAIN_HOME/servers/<server_name>/logs/<server_name>.log),定位具体错误原因(如端口冲突、数据库连接失败)。

0