モジュールで再表示したときに、ファイルのタイムスタンプが変更されていることを検知した場合、関連する検証スクリプトが実行されます。最後の実行の終了コードが、終了コードフィールドに表示されます。スクリプトフィールドに新しい値が指定されると、モジュールは、指定されたパスが有効なファイルかどうかを検査します。パスが有効でない場合、終了コードフィールドに 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 に設定されています。
バイナリは、監視ファイルテーブルに含まれるファイル定義に指定されたレコード形式に対してファイル名を構文解析します。ファイル内容が入力ファイルレコード形式に一致しない場合、エラーが報告されます。空白行とコメント行はスキップされます。バイナリは次の値を返します。
成功
ファイルを開けない
レコード形式が正しくない
ファイルフォーマットが正しくない
メモリー不足などのプログラムエラー
引数エラー