在制定备份策略前,需完成以下基础配置以确保备份顺利进行:
$INFORMIXDIR/etc/onconfig),设置TAPEDEV(备份设备路径,如/dev/st0或磁带库设备)、TAPEBLK(块大小,默认64KB,可根据介质调整)、TAPESIZE(磁带大小,如1024000表示1GB)等参数,确保备份工具能正确识别存储介质。informix用户或具有DBA权限的用户执行(如root),避免权限不足导致备份失败。ontape -s -L 0 /backup/informix_data(-s表示备份数据库,-L 0指定0级);ontape -a(自动备份所有未备份的逻辑日志);ontape -r /backup/informix_data(从备份介质恢复)。ontape更快,适用于大型数据库;支持恢复到特定时间点(PITR),适用于需要精确恢复的场景。onbar -b /backup/informix_data(-b表示备份);onbar -r /backup/informix_data。dbexport -d dbname -c -ss -o /backup/dbname_exp(-d指定数据库名,-c表示压缩,-ss生成脚本文件);dbimport -d dbname -i /backup/dbname_exp -c -l buffered。dbexport,恢复时需使用Onload工具,适用于需要快速备份/恢复的场景。onunload -ss -t tablename -d dbname -o /backup/tablename.unl(-ss生成控制文件,-t指定表名);onload -i /backup/tablename.unl -d dbname。tar或第三方工具(如Duplicity)备份整个Informix数据目录($INFORMIXDIR/dbs)及配置文件(onconfig),适用于系统级备份。tar备份:tar -czvf informix_backup_$(date +%F).tar.gz /opt/IBM/informix/dbs /opt/IBM/informix/etc/onconfig;Duplicity增量备份:duplicity --full-if-older-than 1M /opt/IBM/informix/dbs file:///backup/informix(--full-if-older-than 1M表示1个月未做完整备份则执行完整备份)。cron定时执行备份脚本,避免人工遗漏。例如,每天凌晨2点执行完整备份,上午10点执行增量备份:# 编辑cron任务:crontab -e
0 2 * * * /path/to/full_backup.sh # 完整备份
0 10 * * * /path/to/incremental_backup.sh # 增量备份
脚本示例(full_backup.sh):#!/bin/bash
BACKUP_DIR="/backup/informix_$(date +%F)"
mkdir -p $BACKUP_DIR
ontape -s -L 0 $BACKUP_DIR
tar -czvf $BACKUP_DIR/logical_logs.tar.gz /opt/IBM/informix/logs # 备份逻辑日志
```。
ontape或onbar(支持并行恢复);ontape -t测试备份文件是否能正常读取,或尝试恢复到测试环境;ontape -a),避免日志占满磁盘空间;cron日志或备份工具的输出,监控备份任务是否成功,设置报警(如邮件通知)以便及时处理失败任务。