ページの先頭行へ戻る
Systemwalker Runbook Automation リファレンスガイド
Systemwalker

3.2.3 複数のコマンドを実行

機能説明

SSH通信またはTelnet通信でホストに接続し、複数のコマンドを対話的に実行します。

以下の機器を操作する場合に、使用します。

オプション

基本オプション

(1) hostname

運用操作部品を実行する対象のホスト名またはIPアドレスです。

ホスト名またはIPアドレスを省略した場合、引数エラーとなります。

ホスト名またはIPアドレスに'localhost'、'127.0.0.1'または'::1'を指定した場合、引数エラーとなります。

ホスト名またはIPアドレスの文字数の上限は、1024文字です。それより大きい場合、引数エラーとなります。

(2) commandlinelist

実行するコマンドのリストです。

コマンドのリストには、複数のコマンドを指定できます。

コマンドには、以下が指定できます。

  • 実行するコマンド名と引数

  • 対話型コマンドの応答

以下の文字列を含むコマンドを指定した場合の動作を表に示します。

含まれる文字列

動作

%PASSWORD%

adminpasswordオプションで指定した管理者ユーザーのパスワードに置き換えて実行します。

コマンドリストを省略した場合、引数エラーとなります。

コマンドリストの文字数の上限は8000文字です。それより大きい場合、引数エラーとなります。

以下に注意事項を示します。

  • それぞれのコマンドを改行で区切ります。

  • 実行する順番にコマンドを指定します。

  • 対話型コマンドを指定する場合、問い合わせに対する応答も指定します。

  • 実行するコマンドの最後には、SSH通信またはTelnet通信を終了するためのexitコマンドを指定します。

(例1) ネットワーク機器(IPCOM EX2500)において、構成定義を設定する場合

terminal window 65535 65535                                      (1)
terminal pager disable                                           (2)
prompt disable                                                   (3)
admin                                                            (4)
%PASSWORD%                                                       (5)
configure terminal                                               (6)
load running-config                                              (7)
class-map match-any rba0101                                      (8)
match source-address ip 192.0.2.0/27                             (8)
!                                                                (8)
save running-config                                              (9)
save startup-config                                              (9)
exit                                                             (10)
exit                                                             (10)
exit                                                             (10)
exit                                                             (11)

(1) ターミナル表示でのウィンドウサイズ(縦横幅)を65535文字に設定します。

(2) ターミナル表示でのページャー機能をdisableにします。

(3) ユーザーへの問い合わせ機能を無効にします。

(4) 管理者EXECモードへ移行します。

(5) adminpasswordオプションで指定した管理者ユーザーのパスワードを実行します。

(6) グローバル構成定義モード(即時)へ移行します。

(7) running-configの構成定義の編集を開始して、グローバル構成定義モード(変更)へ移行します。

(8) フィルター条件(class-map) を作成します。

(9) running-configと、startup-configに保存します。

(10) 1つ前のモードに戻ります。

(11) セッションを終了し、ログアウトします。

(例2) ストレージ機器(ETERNUS DX80) において、ディスクエラーの詳細を取得する場合

set clienv-show-more -scroll disable                                      (1)
show disk-error                                                           (2)
exit                                                                      (3)

(1) ページスクロールモードを無効にします。

(2) ディスクエラーの詳細を表示します。

(3) セッションを終了し、ログアウトします。

拡張オプション

(1) connectiontype

ホストへの通信方法です。

“SSH”、“Telnet”のいずれかを指定します。

“SSH”、“Telnet”以外を指定した場合、引数エラーとなります。

通信方法の大文字/小文字は区別しません。

通信方法の入力を省略した場合、“SSH”を設定します。

(2) username

ホストへ接続するユーザー名です。

接続ユーザー名および接続に必要なパスワードの入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得した接続ユーザー名の値をSystemwalker Runbook Automationが自動的に設定します。

接続ユーザー名の文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。

(3) password

ホストへ接続するユーザーのパスワードです。

接続ユーザー名および接続に必要なパスワードの入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得した接続パスワードの値をSystemwalker Runbook Automationが自動的に設定します。

接続に必要なパスワードの文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。

(4) adminpassword

管理者ユーザーのパスワードです。

commandlinelistオプションに、%PASSWORD%を含む文字列を指定した場合に使用します。

管理者ユーザーのパスワードの入力を省略した場合、指定したホスト名またはIPアドレスを元に構成管理データベース(CMDB)を検索し、取得した管理者ユーザーのパスワードの値をSystemwalker Runbook Automationが自動的に設定します。

管理者ユーザーのパスワードの文字数は、1024文字が上限です。それより大きい場合、引数エラーとなります。

(5) expectprompt

ホストが出力するプロンプトのリストです。

ホストが出力するメッセージにおいて、指定したプロンプトに合致するごとに1つずつコマンドを対話的に実行します。

以下に注意事項を示します。

  • プロンプトは一部分を指定するのではなく、空白、記号も含めて全体を指定してください。(プロンプトの末尾が空白の場合は、空白も指定してください)

  • プロンプトを複数指定する場合、改行で区切ってください。

  • 対話型コマンド実行する場合は、問い合わせのプロンプトも指定してください。

  • プロンプトは正規表現を指定することもできます。正規表現を指定する場合には、プロンプトの先頭と最後を/で囲って指定してください。

プロンプトのリストにおける文字数の上限は、1024文字です。それより大きい場合、引数エラーとなります。

プロンプトのリストを省略した場合は、以下の値が有効になります。

/[$#>]\s?\z/
/^[Pp]assword[: ][: ]?\z/

[例1] ホスト名が"ipcom"のネットワーク機器(IPCOM EX2500)の場合

ipcom> 
ipcom# 
ipcom(check-sslvpn)# 
ipcom(config)# 
ipcom(edit)# 
/^ipcom\(edit[a-z\-]*\)\# \z/
Password:

[例2] プロンプトが"CLI> "のストレージ機器(ETERNUS DX80)の場合

CLI> 
(6) abort

コマンドの実行をエラー終了する条件のリストです。

ホストの出力するメッセージが条件に一致した場合にエラー終了します。

以下に注意事項を示します。

  • エラー終了する条件を複数指定する場合、改行で区切ってください。

  • エラー終了する条件に1つでも合致するとその時点でエラー終了します。

  • エラー終了する条件は、正規表現でも指定できます。正規表現を指定する場合には、エラー終了する条件の先頭と最後を/で囲って指定してください。

エラー終了する条件を省略した場合、コマンドの実行をエラー終了しません。

エラー終了する条件の文字数の上限は、1024文字です。それより大きい場合、引数エラーとなります。

[例1] ネットワーク機器(IPCOM EX2500)において、標準的なエラーを対象とする場合

<ERROR>
<ABORT>
<ALERT>
<EMERGENCY>
<CRITICAL>
Authentication failed.
Ambiguous command.
Unrecognized command.
Command incomplete.
Unknown commands or command parameters are insufficient.
Bad use <">.
Because the command is too long, it is not possible to recognize it.
A system of free memory is nothing. Please retry after it waits for a while.
A system of free memory is low. Please take care.
A character code is invalid. Please use an ASCII character code.
Operation aborted by user.
Starting the system now. Please retry after it waits for a while.
This command cannot be executed because the system is stopping.

[例2] ストレージ機器(ETERNUS DX80)において、標準的なエラーを対象とする場合

/^Error: /
(7) charactercode

ホストの文字コードです。

“UTF-8”、“SJIS”、“EUC”のいずれかを指定します。

“UTF-8”、“SJIS”、“EUC”以外を指定した場合、引数エラーとなります。

ホストの文字コードの大文字/小文字は区別しません。

指定を省略した場合、“UTF-8”が設定されます。

(8) userprompt

telnet通信において、コマンドを対話的に実行するホストが接続時に要求するログインプロンプトの形式です。

以下に注意事項を示します。

  • プロンプトは一部分を指定するのではなく、空白、記号も含めて全体を指定してください。(プロンプトの末尾が空白の場合は、空白も指定してください)

  • プロンプトを複数指定する場合、改行で区切ってください。

  • 対話型コマンド実行する場合は、問い合わせのプロンプトも指定してください。

  • プロンプトは正規表現を指定することもできます。正規表現を指定する場合には、プロンプトの先頭と最後を/で囲って指定してください。

ログインプロンプトの形式を省略した場合は、以下の値が有効になります。

/[Uu]sername[: ][: ]?\z/
/[Ll]ogin[: ][: ]?\z/

ログインプロンプトの形式の文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。

SSH通信の場合、ログインプロンプトの形式は使用しません

(9) passwordprompt

telnet通信において、コマンドを対話的に実行するホストが接続時に要求するパスワードプロンプトの形式です。

以下に注意事項を示します。

  • プロンプトは一部分を指定するのではなく、空白、記号も含めて全体を指定してください。(プロンプトの末尾が空白の場合は、空白も指定してください)

  • プロンプトを複数指定する場合、改行で区切ってください。

  • 対話型コマンド実行する場合は、問い合わせのプロンプトも指定してください。

  • プロンプトは正規表現を指定することもできます。正規表現を指定する場合には、プロンプトの先頭と最後を/で囲って指定してください。

パスワードプロンプトの形式を省略した場合は、以下の値が有効になります。

/[Pp]assword[: ][: ]?\z/

パスワードプロンプトの形式の文字列の上限は、1024文字です。それより大きい場合、引数エラーとなります。

SSH通信の場合、パスワードプロンプトの形式は使用しません

(10) timeout

運用操作部品の実行の完了待ち合わせ時間(秒)です。

300~86,400(1日)の範囲で指定が可能です。

(例) 完了待ち合わせを10分間行う場合:600

指定した時間を経過しても運用操作部品の実行が完了しない場合は、運用操作部品の処理を復帰値:201で中断します。

(11) retry

運用操作部品の実行の起動リトライ回数です。

運用操作部品が復帰値:161で終了した場合に、起動リトライを行う回数を指定します。0~5の範囲で指定が可能です。

起動リトライにより再実行した結果、運用操作部品が161以外の復帰値で終了した場合は、指定した起動リトライ回数に達していなくても運用操作部品の実行は終了します。運用操作部品の復帰値は最後に実行した値になります。

(例) 起動リトライを2回行う場合:2

(12) retry_interval

運用操作部品のリトライ間隔(秒)です。

運用操作部品が復帰値:161で終了した場合に、起動リトライを行うまでの間隔を指定します。1~14400の範囲で指定が可能です。

(例) 300秒間隔でリトライを行う場合:300


timeout、retry、およびretry_intervalについて、指定を省略した場合や、範囲外の値を入力した場合は、運用操作部品実行定義ファイルで指定した値が有効になります。詳細は、“2.5 運用操作部品実行定義ファイル”を参照してください。

復帰値

アイコン

シンボル名
矢印名

復帰値

意味

成功

0

すべてのコマンドを実行しました。

失敗

161

コマンドの実行に失敗しました。リトライ回数を指定した場合、リトライします。

178

エラー終了条件に該当したため処理を中断しました。

187

ホストとのネットワーク接続(SSH、Telnet)時の認証に失敗しました。

188

ホストとのネットワーク通信(SSH、Telnet)が切断されました。

189

ホストにネットワーク接続(SSH、Telnet)できませんでした。

197

オプションの指定に誤りがありました。もしくは、構成管理データベース(CMDB)の登録情報に問題があります。

200

コマンドの実行が異常終了しました。

201

運用操作部品の実行がタイムアウトしました。

202

運用操作部品が実行されませんでした。運用操作部品を実行するための設定に問題があります。

203

運用操作部品の実行が失敗しました。管理サーバの環境に問題があります。

205

運用操作部品が実行されませんでした。運用操作部品の入力情報の指定に問題があります。

206

運用操作部品を正常に実行できませんでした。運用操作部品の出力情報の指定に問題があります。

207

運用操作部品が実行されませんでした。運用操作部品が管理サーバに登録されていない可能性があります。

208

運用操作部品の実行途中に自動運用プロセスのリカバリが行われたため、自動運用プロセスを中止状態にしました。

出力情報

変数

意味

message

コマンド実行に成功した場合、以下のメッセージを設定します。

The operation component was successful.

コマンド実行に失敗した場合、エラー内容を文字列として設定します。

command_result

ホストから受信した文字列を設定します。

returnCode

復帰値を設定します。

[例] commandlinelistオプションの例1を実行した場合の、command_resultの出力例を以下に示します。

ipcom> terminal window 65535 65535
ipcom> terminal pager disable
ipcom> prompt disable
ipcom> admin
Password:
ipcom# configure terminal
ipcom(config)# load running-config
ipcom(edit)# class-map match-any rba0101
ipcom(edit-cmap)# match source-address ip 192.0.2.0/27
ipcom(edit-cmap)# !
ipcom(edit)# save running-config

Dynamic distribution of the configuration is carried out.

-----------------------------------------------------------------
The configuration was committed.
-----------------------------------------------------------------
ipcom(edit)# save startup-config

---------------------------------------------------------
The configuration was saved to startup-config.
The configuration is applied when the system is restarted.
Please restart the system.
---------------------------------------------------------
ipcom(edit)# exit
ipcom(config)# exit
ipcom# exit
ipcom> exit

注意事項