备份WebLogic需覆盖配置文件、应用程序、数据及日志四大核心部分,确保数据完整性。以下是具体步骤:
为避免备份过程中数据不一致,需先停止WebLogic服务。可选择以下方式:
bin目录,执行./stopWebLogic.sh(管理服务器)或对应Managed Server的停止脚本。Environment -> Servers,选择目标服务器,点击“Shutdown”按钮。域配置文件(如config.xml、boot.properties)是WebLogic的核心,需完整备份域目录(默认路径:/home/weblogic/Oracle/Middleware/user_projects/domains/your_domain)。常用命令:
tar -czvf /opt/backup_weblogic/domain_backup_$(date +%Y%m%d).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/your_domaincp -r /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain /opt/backup_weblogic/部署在WebLogic上的应用(WAR、EAR包)需单独备份,路径通常为/home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/applications/。命令示例:
cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/applications/*.war /opt/backup_weblogic/applications/cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/applications/*.ear /opt/backup_weblogic/applications/若应用依赖外部数据库(如Oracle),需通过数据库工具备份数据。以Oracle为例,使用expdp命令导出数据:
expdp system/password@SID directory=DATA_PUMP_DIR dumpfile=weblogic_data.dmp日志文件(server.log、access.log)记录了WebLogic运行状态,路径通常为/home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/servers/admin_server/logs/。命令示例:
cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/servers/admin_server/logs/ /opt/backup_weblogic/logs/为节省空间,建议压缩备份文件(如使用gzip);并将备份文件复制到远程服务器或云存储(如SCP):
gzip /opt/backup_weblogic/domain_backup_$(date +%Y%m%d).tar.gzscp /opt/backup_weblogic/*.gz user@remote_server:/path/to/backup/通过crontab设置定时任务,实现每日自动备份。示例脚本(backup_weblogic.sh):
#!/bin/bash BACKUP_DIR="/opt/backup_weblogic" DOMAIN_HOME="/home/weblogic/Oracle/Middleware/user_projects/domains/your_domain" DATE=$(date +%Y%m%d) # 备份域目录 tar -czvf $BACKUP_DIR/domain_backup_$DATE.tar.gz $DOMAIN_HOME # 备份应用程序 cp -r $DOMAIN_HOME/applications/*.war $BACKUP_DIR/applications/ cp -r $DOMAIN_HOME/applications/*.ear $BACKUP_DIR/applications/ # 备份日志 cp -r $DOMAIN_HOME/servers/admin_server/logs/ $BACKUP_DIR/logs/ # 删除7天前的备份 find $BACKUP_DIR -type f -mtime +7 -exec rm -f {} \; 赋予执行权限并添加定时任务:
chmod +x /path/to/backup_weblogic.sh crontab -e # 添加以下行(每日凌晨2点执行) 0 2 * * * /path/to/backup_weblogic.sh 恢复前需确保WebLogic服务已停止,并准备好备份文件。
同备份步骤,执行./stopWebLogic.sh停止服务。
将备份的域目录解压或复制到原始位置:
tar -xzvf /opt/backup_weblogic/domain_backup_$(date +%Y%m%d).tar.gz -C /home/weblogic/Oracle/Middleware/user_projects/domains/cp -r /opt/backup_weblogic/domains/your_domain/* /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/将备份的应用程序复制到域的applications目录:
cp -r /opt/backup_weblogic/applications/*.war /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/applications/cp -r /opt/backup_weblogic/applications/*.ear /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/applications/若备份了数据库,使用对应工具导入数据。以Oracle为例:
impdp system/password@SID directory=DATA_PUMP_DIR dumpfile=weblogic_data.dmp将备份的日志文件复制到原始位置:
cp -r /opt/backup_weblogic/logs/* /home/weblogic/Oracle/Middleware/user_projects/domains/your_domain/servers/admin_server/logs/执行./startWebLogic.sh启动管理服务器,验证服务是否正常启动。
root用户或具有域目录读写权限的用户(如weblogic用户)。