备份前必须停止WebLogic Server,避免数据不一致或损坏。执行以下命令停止域(假设域名为base_domain,路径为/home/weblogic/user_projects/domains/base_domain):
cd /home/weblogic/user_projects/domains/base_domain/bin
./stopWebLogic.sh
使用tar命令打包域目录(包含配置、应用、数据等),命名时加入日期以便区分:
sudo tar -czvf /backup/weblogic/weblogic_domain_backup_$(date +%Y%m%d).tar.gz /home/weblogic/user_projects/domains/base_domain
若仅需备份配置文件(config.xml、weblogic.xml等),可单独打包config目录:
sudo tar -czvf /backup/weblogic/weblogic_config_backup_$(date +%Y%m%d).tar.gz /home/weblogic/user_projects/domains/base_domain/config
若WebLogic连接了外部数据库(如Oracle),需单独备份数据库数据。以Oracle为例,使用expdp工具导出数据:
expdp system/password@orcl schemas=WEBLOGIC_DIR dumpfile=weblogic_data.dmp logfile=export.log
将导出的dmp文件复制到备份目录(如/backup/weblogic)。
通过crontab设置定时任务,每天午夜自动备份域数据:
crontab -e
添加以下内容:
0 0 * * * /bin/bash /home/weblogic/scripts/weblogic_backup.sh
其中weblogic_backup.sh为自定义脚本,内容包含上述停止服务、打包备份等步骤。
恢复前必须停止WebLogic Server,确保恢复过程不受干扰:
cd /home/weblogic/user_projects/domains/base_domain/bin
./stopWebLogic.sh
解压备份的域文件到原始位置(覆盖现有文件):
sudo tar -xzvf /backup/weblogic/weblogic_domain_backup_20251109.tar.gz -C /
若仅恢复配置文件,解压到域目录:
sudo tar -xzvf /backup/weblogic/weblogic_config_backup_20251109.tar.gz -C /home/weblogic/user_projects/domains/base_domain
若备份了数据库数据,使用对应工具恢复。以Oracle为例:
impdp system/password@orcl schemas=WEBLOGIC_DIR dumpfile=weblogic_data.dmp logfile=import.log
恢复完成后,启动WebLogic Server:
cd /home/weblogic/user_projects/domains/base_domain/bin
./startWebLogic.sh
http://<服务器IP>:7001/console,输入管理员账号密码,检查域配置是否正常。/home/weblogic/user_projects/domains/base_domain/logs目录下的server.log,确认无报错信息。root或weblogic用户),避免权限不足导致失败。