グリッド・ホストでのコマンドまたはスクリプトの実行(hostExec)

hostExecコマンドは、指定されたとおりにグリッド内のインスタンスでコマンド(システム・コマンドやTimesTenコマンドなど)またはスクリプトを実行します。

ttGridAdmin hostExec [-only hostname]
                     [-exclude hostname]
                     [-parallel n]
                      command | -script filepath

オプション

hostExecコマンドには、次のオプションがあります。

オプション 説明

-only hostname

コマンドまたはスクリプトは、指定したホストに対してのみ実行されます。-onlyでは1つのホストのみを指定しますが、コマンドラインで-onlyを複数回使用できます。

モデルに定義されているホスト名を使用します。

-onlyまたは-excludeを指定しないと、コマンドやスクリプトはモデル内のすべてのホストで実行されます。

-exclude hostname

コマンドやスクリプトは、ホストを指定した場合を除き、グリッド内のすべてのホストで実行されます。-excludeでは1つのホストのみを指定しますが、コマンドラインで-excludeを複数回使用できます。

モデルに定義されているホスト名を使用します。

-onlyまたは-excludeを指定しないと、コマンドやスクリプトはモデル内のすべてのホストで実行されます。

-parallel n

コマンドまたはスクリプトが最大n個のホスト上で同時に実行されることを指定します。デフォルトは10です。値が1の場合はシリアルに実行されます。

command | -script filepath

commandには、実行するコマンドを指定します。

または:

-script filepathには、実行するシェル・スクリプトのパスと名前を指定します。スクリプトは、ローカル・システム上に存在する必要があり、各ホストにコピーされます。

この例では、まずグリッド内の既存のホストを示し、次に、各ホストでhostExecを使用してdf /コマンドを実行し(ディスク領域を表示するため)、このとき、mysys3hostおよびmysys4hostを除外します。したがって、コマンドはmysys1hostmysys2hostで実行されます。

% ttGridAdmin hostList
Name        IntAddress             ExtAddress             DSG Comment
----------- ---------------------- ---------------------- --- -------
mysys1host  intmysys1.example.com  extmysys1.example.com    1
mysys2host  intmysys2.example.com  extmysys2.example.com    2
mysys3host  intmysys3.example.com  extmysys3.example.com    1
mysys4host  intmysys4.example.com  extmysys4.example.com    2

% ttGridAdmin hostExec -exclude mysys3host -exclude mysys4host df /
Commands executed on:
  mysys1host rc 0
  mysys2host rc 0
Return code from mysys1host: 0
Output from mysys1host:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           173483816  28416336 136254988  18% /
Return code from mysys2host: 0
Output from mysys2host:
Filesystem           1K-blocks      Used Available Use% Mounted on
/dev/xvda2           117144964  35319512  75874836  32% /

ノート

  • コマンドやスクリプトは、各ホストでパスワードなしSSHを介してインスタンス管理者として実行します。

  • 環境変数は、デフォルトでSSHによって設定されたものを除き、ホストに設定されていません。

  • 実行がタイムアウト前に完了しなかった場合、コマンドは2000を返します。

  • 実行中に、stdoutおよびstderrの出力が、hostExecコマンドからのstdoutおよびstderrの出力の一部として表示されます。出力はバッファに入れられるため、異なるコマンドからの出力が混在することはありません。