linux

WebLogic Linux版如何进行备份与恢复

小樊
50
2025-10-03 22:25:43
栏目: 智能运维

一、备份前准备

  1. 停止WebLogic服务:为避免数据不一致,备份前需停止WebLogic服务。可通过以下两种方式操作:
    • 使用命令行工具进入域目录,执行./stopWebLogic.sh(需切换至weblogic用户或具有相应权限的用户);
    • 通过WebLogic控制台(http://服务器IP:7001/console)导航至“环境”→“服务器”→选择服务器实例→点击“关闭”完成停止。
  2. 确认权限:备份操作需具备域目录及文件的读写权限,建议使用root用户或weblogic用户执行。

二、Linux版WebLogic备份步骤

1. 备份配置文件(核心)

配置文件是WebLogic恢复的基础,需备份整个域目录(包含config.xmlboot.properties等关键文件)。常用命令如下:

# 备份整个域目录(如域名为mydomain,路径为/home/weblogic/Oracle/Middleware/user_projects/domains/mydomain)
tar -czvf /opt/backup_weblogic/mydomain_config_$(date +%Y%m%d).tar.gz /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain

# 或备份关键配置文件(更灵活)
cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/config /opt/backup_weblogic/config_backup
cp /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/boot.properties /opt/backup_weblogic/config_backup
cp /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/startWebLogic.sh /opt/backup_weblogic/config_backup

注:config.xml是域的核心配置文件,boot.properties用于存储管理服务器的启动密码,需优先备份。

2. 备份应用程序和数据

应用程序(WAR/EAR包)和业务数据(如数据库)是业务运行的核心,需单独备份:

# 备份应用程序(假设部署在域的applications目录下)
cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/applications/*.war /opt/backup_weblogic/app_backup
cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/applications/*.ear /opt/backup_weblogic/app_backup

# 备份外部数据库(如Oracle,需提前安装expdp工具)
expdp system/password@ORCL directory=DATA_PUMP_DIR dumpfile=mydomain_db_backup.dmp

注:若应用依赖外部数据库,需同时备份数据库数据,确保业务一致性。

3. 备份日志文件

日志文件(server.logaccess.log)记录了WebLogic的运行状态,可用于故障排查:

# 备份日志文件(域日志路径如/home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/servers/AdminServer/logs)
cp -r /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/servers/AdminServer/logs /opt/backup_weblogic/log_backup

4. 压缩与归档备份文件

为节省存储空间,建议将备份文件压缩:

# 压缩配置文件备份
gzip /opt/backup_weblogic/mydomain_config_$(date +%Y%m%d).tar.gz

# 压缩应用程序备份
gzip /opt/backup_weblogic/app_backup/*.war
gzip /opt/backup_weblogic/app_backup/*.ear

# 压缩日志备份
gzip /opt/backup_weblogic/log_backup/*.log

5. 存储备份文件

将备份文件复制至安全位置(如外部硬盘、云存储),避免本地磁盘故障导致数据丢失:

# 复制至远程服务器(需配置SSH免密)
scp /opt/backup_weblogic/*.tar.gz user@remote_server:/path/to/remote_backup

# 或复制至本地挂载的外部硬盘
cp /opt/backup_weblogic/*.tar.gz /mnt/external_disk/backup/

6. 自动化备份(可选)

通过编写Shell脚本结合crontab实现定时自动备份,减少人工操作:

# 编写备份脚本(/opt/scripts/backup_weblogic.sh)
#!/bin/bash
BACKUP_DIR="/opt/backup_weblogic"
DOMAIN_DIR="/home/weblogic/Oracle/Middleware/user_projects/domains/mydomain"
DATE=$(date +%Y%m%d)

# 备份域目录
tar -czvf $BACKUP_DIR/domain_$DATE.tar.gz $DOMAIN_DIR

# 备份应用程序
cp -r $DOMAIN_DIR/applications/*.war $BACKUP_DIR/app_$DATE
cp -r $DOMAIN_DIR/applications/*.ear $BACKUP_DIR/app_$DATE

# 压缩备份文件
gzip $BACKUP_DIR/domain_$DATE.tar.gz
gzip $BACKUP_DIR/app_$DATE/*.war
gzip $BACKUP_DIR/app_$DATE/*.ear

# 删除7天前的备份
find $BACKUP_DIR -type f -mtime +7 -exec rm -f {} \;

# 赋予执行权限
chmod +x /opt/scripts/backup_weblogic.sh

# 添加crontab定时任务(每天凌晨2点执行)
echo "0 2 * * * /opt/scripts/backup_weblogic.sh" >> /var/spool/cron/root

注:脚本需根据实际环境调整域目录、备份路径等参数。

三、Linux版WebLogic恢复步骤

1. 停止WebLogic服务

恢复前需停止WebLogic服务,确保数据一致性:

# 停止管理服务器
./stopWebLogic.sh

2. 恢复配置文件

将备份的配置文件覆盖至原始域目录:

# 恢复整个域目录
tar -xzvf /opt/backup_weblogic/mydomain_config_20250930.tar.gz -C /home/weblogic/Oracle/Middleware/user_projects/domains/

# 或恢复关键配置文件
cp -r /opt/backup_weblogic/config_backup/config /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/
cp /opt/backup_weblogic/config_backup/boot.properties /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/
cp /opt/backup_weblogic/config_backup/startWebLogic.sh /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/

3. 恢复应用程序和数据

将备份的应用程序和数据恢复至原始位置:

# 恢复应用程序
cp -r /opt/backup_weblogic/app_backup/*.war /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/applications/
cp -r /opt/backup_weblogic/app_backup/*.ear /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/applications/

# 恢复外部数据库(如Oracle)
impdp system/password@ORCL directory=DATA_PUMP_DIR dumpfile=mydomain_db_backup.dmp

4. 恢复日志文件

将备份的日志文件复制至原始日志目录:

cp -r /opt/backup_weblogic/log_backup/*.log /home/weblogic/Oracle/Middleware/user_projects/domains/mydomain/servers/AdminServer/logs/

5. 启动WebLogic服务

恢复完成后,启动WebLogic服务并验证状态:

# 启动管理服务器
./startWebLogic.sh

# 登录WebLogic控制台(http://服务器IP:7001/console),检查域配置、应用程序部署状态是否正常。

6. 验证恢复结果

四、注意事项

  1. 备份频率:根据业务重要性设置备份频率(如生产环境每日备份,关键业务每小时备份);
  2. 备份验证:定期测试备份文件的恢复过程,确保备份有效性(如每月进行一次恢复演练);
  3. 权限管理:备份文件需存储在安全位置,避免未授权访问;
  4. 补丁备份:若安装了WebLogic补丁,需备份/home/weblogic/Oracle/Middleware/utils/bsu/cache_dir目录下的补丁文件;
  5. 外部依赖:若应用依赖外部数据库、消息队列等,需同步备份这些组件的数据。

0
看了该问题的人还看了