在 Linux 上备份 IBM Informix 数据库,常见方式有以下几种。下面按最常用 → 高级的顺序说明,并给出示例。
ontape 是 Informix 自带的备份工具,适合大多数场景。
编辑 $INFORMIXDIR/etc/onconfig:
TAPEDEV /backup/ifx/tape0
TAPEBLOCK 16
TAPESIZE 0 # 0 表示不限制大小
/backup/ifx必须是 informix 用户有权限的目录
ontape -s -L 0
-s:开始备份-L 0:0 级备份(全量)ontape -s -L 0 -t /backup/ifx/db1.bak db1
ontape -a
onbar 依赖 存储管理器(ISM / TSM),适合大型系统。
onconfig 中的 BAR_* 参数onbar -b -L 0
需要额外配置存储管理软件,复杂度较高
适合逻辑备份 / 迁移
dbexport dbname -o /backup/ifx
生成:
dbname.exp/ 目录dbname.sql(结构)dbimport dbname -i /backup/ifx
适合小表或部分数据:
UNLOAD TO '/backup/ifx/table.txt'
SELECT * FROM table_name;
✅ 定期做 0 级 + 1 级 + 2 级 备份
✅ 备份 逻辑日志(ontape -a)
✅ 备份文件保存到 异地 / 磁带 / 对象存储
✅ 定期做 恢复演练
#!/bin/bash
export INFORMIXDIR=/opt/informix
export PATH=$INFORMIXDIR/bin:$PATH
export INFORMIXSERVER=ol_informix
ontape -s -L 0
ontape -a
加入 crontab:
0 2 * * * /scripts/ifx_backup.sh
如果你能提供:
我可以帮你设计最合适的备份方案。