Informix的日志行为主要由onconfig文件控制(路径通常为/opt/informix/etc/onconfig)。关键参数及说明如下:
LOGPATH参数设置日志文件存储目录(如LOGPATH=/opt/informix/log);LOGLEVEL参数决定日志详细程度(0=仅严重错误,1=错误+警告,2=信息性消息,3=调试信息,4=最详细日志,默认3);LOGFILESIZE设置单个日志文件最大大小(MB,如LOGFILESIZE=1024表示1GB),LOGFILENUM设置保留的日志文件数量(如LOGFILENUM=4表示保留4个日志文件)。sudo systemctl restart informix。tail -f命令跟踪日志文件末尾内容(如tail -f /opt/informix/log/onlog);grep命令过滤关键词(如grep "ERROR" /opt/informix/log/onlog可查找错误日志);journalctl命令查看Informix相关的系统日志(如journalctl -u informix)。使用onstat -d命令可查看数据库状态,包括逻辑日志和物理日志的当前使用情况(如日志文件数量、剩余空间等)。
logrotate是Ubuntu系统自带的日志轮转工具,可自动压缩、删除旧日志,避免磁盘空间耗尽。
/etc/logrotate.d/目录下新建informix文件(如sudo nano /etc/logrotate.d/informix);/opt/informix/log/*.log {
daily # 每天轮转一次
rotate 7 # 保留7个旧日志文件
compress # 压缩旧日志(如.gz格式)
missingok # 若日志文件丢失,不报错
notifempty # 若日志为空,不轮转
create 0640 informix informix # 新建日志文件的权限、属主和属组
}
sudo logrotate -vf /etc/logrotate.d/informix);/etc/cron.daily/logrotate)每日自动执行。logwatch --service informix --output mail)。确保日志文件记录敏感操作(如用户登录、权限变更、数据修改),并设置适当的访问权限(如chmod 640限制仅管理员可读),以满足安全审计要求。