CA AppLogic シェルから実行できるコマンドは、すべて ssh を使用してリモート クライアントからも実行できます。
すべての構文例において、controllerhost はアクセスされる CA AppLogic コントローラのホスト名です。 クライアントで SSH エージェントがアクセス認証に必要な ID キーを提供するよう設定されているか、そうでない場合は有効なアクセス キーが SSH ユーティリティに提供される(たとえば、コマンド ライン オプションまたは設定ファイルによって)ことを前提としています。 どのような方法でアクセス オプションを提供する場合でも、クライアントは SSH2 秘密キー(RSA または DSA)しか使用しない可能性があり、コントローラへのアクセスを「root」として要求する必要があります。 対応する公開キーは、Web インターフェースを介して、またはコントローラへのシェル アクセス権のある別のユーザによって、コントローラにインストールされている必要があります。
シェルとして GNU bash を使用している場合は、シェル機能のセットを使用して、インタラクティブに、またはスクリプト内で、シェルから CLI コマンドに簡単にアクセスできます。 「クライアント側マクロ」を参照してください。
ssh root@controllerhost entity command [args]
コントローラ上で単一の 3t シェル コマンド(command)を実行します。
ssh root@controllerhost command entity [args]
上記と同じで、コマンドおよびエンティティ名が入れ替わっています。 どちらの構文の形式も 3t シェルに受け入れられます。
注:
ssh root@controllerhost 3t entity command [args] ssh root@controllerhost 3t command entity [args]
ssh root@controllerhost app config myapp .description=¥'Some description with spaces in it¥'
高度なスクリプト向けのコマンド、およびクライアント側コードが含まれたインタラクティブ シェル インターフェースの実装向けのコマンドを以下に示します。 GNU bash シェル用に実装されたインターフェースの例については、「クライアント側マクロ」を参照してください。
ssh [-t] controllerhost sh [args]
このコマンドは CLI インターフェースの ssh コマンドと同じ機能がありますが、上述のように直接呼び出しのみに使用され、インタラクティブ CA AppLogic シェル プロンプトからはアクセスできません。 ターゲット アプライアンス上の擬似端子の自動設定が提供され、tty が必要なインタラクティブ コマンド(「vi」エディタなど)を透過的に使用できます。
ssh controllerhost =appname command [args]
これは、上記の通常の非インタラクティブ コマンド呼び出しのバリエーションで、CA AppLogic CLI コマンドの「現在のアプリケーション」を提供します。 インタラクティブ シェルから以下の 2 つのコマンドの実行するのと同等です。
ca appname command [args]
「現在のアプリケーション」をサポートする各 CLI コマンドでもアプリケーション名を明示的に指定できますが、アプリケーション名を提供するこの代替方法は、「現在のアプリケーション」の概念が独自に定義され、リモートの CA AppLogic コマンド呼び出し時に共通関数を併用するクライアント スクリプトに対して有用です。 このように、実際のリモート コマンド呼び出しを実行する関数で、コマンド構文や、特定のコマンドがアプリケーションを引数として取るかどうかを関知する必要がなくなります。コマンド内に最初の単語として現在のアプリケーション名を指定するだけで、後は CA AppLogic リモート シェルに「現在のアプリケーション」を使用する独自のルールを適用させることができます。
以下の簡単な例(GNU bash)では、リモート コマンドを呼び出すために使用する「3t」という名前の関数を定義しています。
function 3t() { ssh $CONTROLLER =$APP "$@" ; }
この関数を使用すると、コントローラ ホストと現在のアプリケーションを設定するだけで、ローカル シェルからプレフィックス 3t を付けてリモート コマンドを使用できます。以下はその例です。
CONTROLLER=ctl.3tera.net APP=TWiki 3t grid info 3t app list # in this command, the current app name doesn't matter 3t app start # here, the current application name will actually be used
Copyright © 2012 CA. All rights reserved. |
|