モジュールで再表示したときに、ファイルのタイムスタンプが変更されていることを検知した場合、関連する検証スクリプトが実行されます。最後の実行の終了コードが、終了コードフィールドに表示されます。スクリプトフィールドに新しい値が指定されると、モジュールは、指定されたパスが有効なファイルかどうかを検査します。パスが有効でない場合、終了コードフィールドに NO_SUCH_SCRIPT が表示されます。また、実行されている検証スクリプトが強制終了されると、このフィールドに killed が表示されます。この場合、終了コード用のアラームを生成する正規表現を指定します。
独自の検証スクリプトを作成することも (ただし、/var/opt/SUNWsymon/SysMgmtPack/filewch/scripts ディレクトリに入れること)、モジュールと共にインストールされた fileparse バイナリを使用することもできます。
fileparse が指定された場合、モジュールは提供されるパラメータを無視します。引数は、そのファイルが認識する区切り文字、コメント、およびレコード形式値から構成されます。値を指定すると、すべてのパラメータは、モジュールに組み込まれたパラメータで置き換えられます。この手法により、サポートされないコメントや区切り文字が指定されることはありません。
たとえば、mytest.sh -a myarg と指定すると、引数として -a myarg を付けて mytest.sh スクリプトが 実行されます。
fileparse は、C バイナリであり、/var/opt/SUNWsymon/SysMgmtPack/filewch/scripts/ にあります。
スクリプトファイルのデフォルトリストには、検証スクリプトおよびレコード形式用に設定された値があります。たとえば、/etc/hosts の場合、値は次のように設定されています。
検証スクリプトは、fileparse に設定されています。
レコード形式は、IPADDRESS STRING STRING に設定されています。
このバイナリは、監視ファイルテーブルに含まれるファイル定義に指定されたレコード形式と照合して、ファイル名を解析します。ファイル内容が入力ファイルのレコード形式に一致しない場合は、エラーが報告されます。空白行とコメント行はスキップされます。バイナリは次の値を返します。
成功
ファイルを開けない
レコード形式が正しくない
ファイル形式が正しくない
メモリー不足などのプログラムエラー
引数エラー