前のトピック: SSH スクリプト属性次のトピック: リモート ログイン情報


SSH スクリプトの実行オペレータ インライン スクリプト API

製品は、SSH スクリプトの実行オペレータ インライン スクリプト フィールドの Bean Shell シェルまたは JavaScript で書かれたスクリプトを使用します。 スクリプトは、以下の API を表示する conn オブジェクトを使用します。

void send (String str, boolean log) throws Exception

このメソッドはデータをリモート ホストへ送信します。

String str

リモート ホストに送信するデータを定義します。

boolean log

リモート ホストへ送信されたデータを CA Process Automation ログで表示/非表示にします。

デバッグするには、オペレータとリモート ホスト間の通信を追跡してください。 <install_dir>/server/conf/log4j.xml ファイルで以下のコードを設定します。

<category name="com.company.c2o.servicegroup.netutils">	
   <priority value="DEBUG" />
</category>

また、log4j.xml で CA Process Automation ログ ファイル(c2o.log)が DEBUG ステートメントを受け入れるように設定します。

デバッグ レベルを設定すると、[コマンド実行]オペレータ カテゴリは DEBUG レベルで CA Process Automation ログ ファイル(c2o.log)へのログ記録を開始します。 send または sendLine によってリモート ホストへ送信されたデータはすべて CA Process Automation ログに表示されます。

値:

True: ログが DEBUG レベルのとき、String str 値がログに記録されます。

False: String str 値はログに記録されません。

: c2o.log はプロセス ログではなく CA Process Automation ログ ファイルです。 オペレータはプロセス ログにメッセージを書き込みません。

このメソッドには戻り値がありません。 API がリモート ホストにデータを書き込むことができない場合、例外が生成されます。

public void sendLine (String str, boolean log) throws Exception

このメソッドは、データに復帰改行文字を追加して、リモート ホストにそれを送信します。 パラメータで送信されたコマンドの実行を開始するようリモート ホストに強制するには、このメソッドを使用します。

このメソッのパラメータと値は、void send (String str, boolean log) throws Exception と同じす。

void send (String str) throws Exception

このメソッドは Send (String str, true) と同等です。

void sendLine (String str) throws Exception

このメソッドは SendLine (String str, true) と同等です。

public boolean waitFor(String pattern, int timeout) throws Exception

このメソッドは、リモート ホストから出力を読み取り、以下の結果のどちらかが発生すると停止します。

waitFor メソッドへの各コールによって読み取られたリモート ホストからの出力は、getLastOutput() でアクセス可能なバッファに格納されます。 waitFor の各コールは、前のコールからのバッファ コンテンツに上書きされます。

waitFor の次のコールは、waitFor の前のコールが読み取りを停止した箇所から出力の読み取りを開始します。 これは、メソッドを getLastOutput.() と共に使用するときに関係します。 たとえば、WaitFor のコールがコマンドの出力の全体に一致しない場合、次のコールには前のコマンドからの残りの出力が含まれる場合があります。

重要: 前のコマンド出力と現行のコマンド出力の混同を避けるため、sendLine の各コール後に waitFor をコールしてください。

Telnet スクリプトおよび SSH スクリプトのオペレータは、リモート ホストからデータを読み取るために別のメカニズムを使用します。

以下のパラメータが含まれます。

String pattern

リモート ホストから読み取られるデータと照合する正規表現を定義します。 通常、このパターンは、次のプロンプトまでのすべてのデータを照合します(例: ".*[$]")。 コマンドの出力データ(次のプロンプトまでの改行も含む)を照合(および取得)できるため、パターンは「.*」で開始するようにしてください。

: メソッドは、(waitFor のコールで)読み取られたデータ全体をパターンと照合します。 メソッドは、読み取ったデータのサブストリングとしてはパターンを照合しません。 また、点(. )は、新しい改行文字を一致します(複数行の応答データを検出するために使用可能)。

Int timeout

リモート ホストからデータを読み取り、パターンと照合する間隔(秒単位)を定義します。

戻り値はブールです。

True

タイムアウトが経過する前に読み取られたデータは、パターンと一致します。

False

タイムアウトが経過する前に読み取られたデータは、パターンと一致しません。

注: メソッドは、パターンが一致するかタイムアウトが経過すると直ちに値を返します。

以下の場合は例外が生成されます。

このメソッドは、waitFor メソッドの最後のコールが、リモート ホストから読み取ったデータを保存した場合、バッファの内容を返します。 このデータは必ずしも waitFor のパターンに一致するとは限りません。 waitFor が true または false のどちらを返しても、バッファには、最新の waitFor コールの読み取りがすべて格納されます。

このメソッドにはパラメータはありません。

このメソッドは例外を生成しません。