在模块刷新的过程中,如果模块检测到文件的时间戳已改变,就会执行关联的验证脚本。“退出代码”字段将显示上次执行时的退出代码。当脚本字段被赋予新值时,模块将检查给定的路径是否是有效的文件。如果路径无效,“退出代码”字段将显示 NO_SUCH_SCRIPT。如果运行的验证脚本被终止,该字段还会显示 killed。在这种情况下,请指定要在其上生成退出代码警报的正则表达式。
您可以将自己的验证脚本放在 /var/opt/SUNWsymon/SysMgmtPack/filewch/scripts 目录中,或者使用模块安装的 fileparse 二进制文件。
如果指定了 fileparse ,模块将忽略提供的参数。参数从文件已知的分隔符、注释和记录格式值中生成。如果您指定了某个值,所有的参数都将被模块中内置的参数替换。这样就确保了不会指定不受支持的注释和分隔符。
例如,如果您指定了 mytest.sh -a myarg,将会执行 mytest.sh 脚本,其参数为 -a myarg。
fileparse 是一个 C 二进制文件,位于 /var/opt/SUNWsymon/SysMgmtPack/filewch/scripts/ 中。
缺省的脚本文件列表中为“验证脚本”和“记录格式”设置了值。例如,对于 /etc/hosts,这些值设置如下:
“验证脚本”被设置为 fileparse
“记录格式”被设置为 IPADDRESS STRING STRING
该二进制文件根据文件监视表包含的 file 定义中指定的 record_format 来分析 filename。如果文件内容与输入文件 record_format 不一致,将报告错误。空白行和注释行将被跳过。该二进制文件返回以下值:
成功
无法打开文件
record_format 错误
文件格式错误
程序错误,例如内存不足
参数错误