ページの先頭行へ戻る
Interstage Application Server/Interstage Web Server Express リファレンスマニュアル(コマンド編)
Interstage

13.1 asadmin

asadminコマンドは、Java EEの実行環境のための統合コマンドであり、Java EEの実行環境の構築や、システム稼動後の運用操作を行うことができます。

以下について説明します。

asadminenv.confファイル

asadminコマンドは、Interstage Java EE DASサービスの運用管理用HTTPリスナーに接続して処理を行います。
運用管理用HTTPリスナーとの接続設定は、以下のasadminenv.confファイルで定義されており、運用管理用HTTPリスナーの設定、または、Java EE運用環境のログイン認証のためのレルムを変更した場合、このファイルも合わせて修正する必要があります。

[Windows]
C:\Interstage\F3FMisjee\config\asadminenv.conf

[Solaris/Linux]
/opt/FJSVisjee/config/asadminenv.conf

注) Solaris/Linuxでは、システム管理者のみ本ファイルを変更できます。

asadminenv.confファイルの定義内容は、以下となります。

定義項目

意味

初期値

値の範囲

備考

AS_ADMIN_PORT

asadminコマンドが接続する、Interstage Java EE DASサービスの運用管理用HTTPリスナーの「ポート番号」のデフォルト値です。

12001

1-65535

インストール時、または、ijinitコマンドの実行時に指定した値が初期値に反映されます。

上記以外の操作でInterstage Java EE DASサービスの運用管理用HTTPリスナーの「ポート番号」を変更した場合、必要に応じて修正してください。

AS_ADMIN_PROFILE

内部パラメタです。

cluster

・cluster

clusterから変更しないでください。

AS_ADMIN_SECURE

asadminコマンドがInterstage Java EE DASサービスの運用管理用HTTPリスナーと接続する際、暗号化通信を行うかのデフォルト値です。

true

・true

・false

インストール時、または、ijinitコマンドの実行時に指定した値が初期値に反映されます。

上記以外の操作で、Interstage Java EE DASサービスの運用管理用HTTPリスナーの「セキュリティ」を変更した場合、必要に応じて修正してください。

AS_ADMIN_REALM

サービスプロセス起動時、および、asadminコマンドが運用管理用HTTPリスナーに接続する際に使用するセキュリティレルムの設定です。

os

・os

・file

・ldap

Java EE運用環境のログイン認証のためのレルムに合わせて修正してください。

以下に、asadminenv.confファイルの記述例を示します。

AS_ADMIN_PORT=12001

AS_ADMIN_PROFILE=cluster

AS_ADMIN_SECURE=true

AS_ADMIN_REALM=os

運用管理用HTTPリスナーの設定、および、Java EE運用環境のログイン認証のためのレルムについては以下を参照してください。

ンドの実行権限

本コマンドはInterstage運用グループのユーザーのみ実行可能です。
Interstage運用グループについては、「Java EE運用ガイド」-「Java EE運用環境のロール」を参照してください。

ンド利用時のログイン認証

本コマンドの利用時はログイン認証が必要となります。
ログイン認証ついての詳細は「Java EE運用ガイド」-「asadminコマンドのログイン認証」を参照してください。

コマンド構成

asadminコマンドは、複数のサブコマンドから構成されています。それぞれのサブコマンドはJava EE運用環境の操作と対応しています。なお、サブコマンドごとに指定できるオプションは異なります。
コマンドの実行時には、以下のようにサブコマンドとオプション・オペランドを指定します。

> asadmin サブコマンド オプション オペランド

注意

Java EEの実行環境の操作は、Interstage Java EE DASサービスを経由して行われます。
そのため、一部のサブコマンドを除き、asadminコマンドの実行時にはInterstage Java EE DASサービスが起動している必要があります。

サブコマンド

サブコマンドは、以下のように操作と操作対象の名前をハイフンでつないだ形式です。

asadmin create-cluster

サブコマンドの詳細については、「13.1.1 asadminコマンドのサブコマンド一覧」と各サブコマンドの説明を参照してください。

サブコマンド名の候補表示

指定したサブコマンド名に誤りがある場合は、エラーメッセージ中に、指定した文字列を含むサブコマンドの一覧が表示されます。そのため、サブコマンド名の一部を覚えていれば目的のコマンドを知ることができます。

Closest matching command(s):
    サブコマンド名1
    サブコマンド名2
    サブコマンド名3
asadmin: ERROR: ISJEE_CLI001 Invalid Command, <指定コマンド>

例えば、clusterに関する操作を調べたい場合は、以下のように入力します。

> asadmin cluster
Closest matching command(s):
    create-cluster
    delete-cluster
    list-clusters
    start-cluster
    stop-cluster
asadmin: ERROR: ISJEE_CLI001 Invalid Command, cluster

Usage

オプションの指定に誤りなどがある場合、コマンドの使用方法を示すUsageが以下の形式で表示されます。

Usage: コマンド名 オプション オペランド

省略可能なオプションとオペランドは大括弧でくくられます。
以下にUsageの表示例を示します。

Usage: create-cluster [--terse[=true|=false]] [--echo[=true|=false]] [--newinstances instance_name1[:instance_name2]...] [--systemproperties name=value[:name=value]...] [--interactive[=true|=false]] [--host host] [--port port] [--secure[=true|=false]] [--user admin_user] [--passwordfile file_name] [--help] [--config config_name] cluster_name

コマンドプロセスのJavaVMオプション設定

asadminコマンドを起動する場合、通常のJavaアプリケーションと同様に内部的にJavaアプリケーションの起動コマンド(Javaコマンド)を使用します。
このJavaアプリケーションの起動コマンドで指定可能なオプション(-Xmxオプションなど)を指定する場合には、環境変数VMARGSを指定してください。以下にオプションの指定例を示します。

VMARGS= -Xmx512m

注意

  • -classpathオプションは指定しないでください。

  • 以下のように不当な値を指定した場合、javaコマンドのエラーが発生します。オプションの指定方法はjavaコマンドの説明を参照してください。空白を含む値を指定する場合、値をダブルコーテーション(")で囲む必要があります。

    無効なオプションを指定した場合

    >set VMARGS=-option
    > asadmin list --echo
    Unrecognized option: -option
    Could not create the Java virtual machine.

    不当な空白を指定した場合

    >set VMARGS=option1 option2
    > asadmin list --echo
    Exception in thread "main" java.lang.NoClassDefFoundError: option1

マルチモード

サブコマンドを指定しないでasadminコマンドを実行した場合、コマンドがマルチモードで起動します。マルチモードを使用することで、複数操作の一括実行が容易に行えます。
マルチモードについての詳細は、「13.1.3.2 multimodeサブコマンド」を参照してください。

コマンドのリモート実行

--host、--portオプションで接続先を指定することで、リモートマシンのInterstage Java EE DASサービスに対して接続し、運用操作を行うことができます。

指定された--hostオプションの値とリモート実行との関係を以下に示します。

--hostオプションの値

リモート実行の利用

デフォルト値(localhost)

×

ローカルループバックアドレス(127.0.0.1)

×

自ホストのホスト名

×

自ホストのIPアドレス

上記以外の値

×:リモート実行を利用しません。ネットワークに接続できない場合も、コマンドが実行できます。
○:リモート実行を利用します。ネットワークに接続できない場合、コマンドの実行に失敗します。

形式

>asadmin サブコマンド --host --port 他オプション オペランド

このサブコマンドは、リモート実行のサブコマンドを指します。

オプション

オプション名

簡略名

説明

--host

-H

※1

--port

-p

※1

※:操作共通オプションについては、「13.1.2 asadminコマンドの共通オプション」を参照してください。

使用例

以下のように実行します。

>asadmin create-cluster --host 192.168.0.100 --port 12001 cluster001
Please enter the admin user name>admin
Please enter the admin password>
Command create-cluster executed successfully.

化通信

asadminコマンドのリモート実行時、暗号化通信をサポートしています。Interstage Java EE DASサービスの運用管理用HTTPリスナーのセキュリティ属性およびasadmin コマンドの--secureオプションを有効にした場合、暗号化通信をします。

暗号化通信の設定

Interstage Java EE DASサービスの運用管理用HTTPリスナーのセキュリティ属性を有効にすることで、Interstage Java EE DASサービスはSSL接続リクエストを受けることができます。--secureオプションを有効にすることで、コマンドリモート実行時にSSL接続リクエストを発行することができます。そのため、両方を有効にした場合のみ、SSLを使用して暗号化通信ができます。有効・無効によるそれぞれの意味を以下の表に説明します。

Interstage Java EE DASサービスの運用管理用HTTPリスナーのセキュリティの設定

--secureオプションの設定

意味

true

true

Interstage Java EE DASサービスとの間の通信が暗号化されます。

true

false

asadminコマンドの実行に失敗します。

false

true

asadminコマンドの実行に失敗します。

false

false

Interstage Java EE DASサービスとの間の通信は暗号化されません。

※インストール時に「SSL暗号化通信を使用」で指定した値(“使用する”を選んだ場合trueとなります。)、および、ijinitコマンド実行時に-sslオプションで指定した値が、運用管理用HTTPリスナーのセキュリティに反映されます。


Interstage Java EE DASサービスの運用管理用HTTPリスナーのセキュリティの属性と--secureオプションを両方ともに有効にすると、コマンドのリモート実行時に、以下の例に示すように暗号化通信が使用されます。

  1. Interstage Java EE DASサービスの運用管理用HTTPリスナーのセキュリティ属性を有効にします。

    >asadmin set --host 10.167.157.90 --port 12001 server-config.http-service.http-listener.admin-listener.securityenabled=true
    Please enter the admin user name>admin
    Please enter the admin password>
    server-config.http-service.http-listener.admin-listener.security-enabled=true

  2. Interstage Java EE DASサービスを再起動します。

    >ijdasstop
    ijdasstop: INFO: ijdas10001: Interstage Java EE DAS service has stopped.

    >ijdasstart
    ijdasstart: INFO: ijdas10000: Interstage Java EE DAS service has started.

  3. asadminコマンドのリモート実行時、--secureオプションを有効にします。

    >asadmin create-cluster --host 10.167.157.90 --port 12001 --secure=true cluster001
    Please enter the admin user name>admin
    Please enter the admin password>
    Command create-cluster executed successfully.


※「10.167.157.90」はリモート接続先のIPアドレスです。

※例1、例3はリモート接続先サーバーとは別のマシンからサーバーに接続して操作を行いますが、例2はリモート接続先のサーバー上で直接操作を行います。

サーバー証明書を保存するファイル

.asadmintruststoreファイルは、ユーザディレクトリ配下のサーバー証明書を保存するためのものです。SSL接続による管理操作は、当該サーバー証明書を利用してセキュリティ認証を行います。
また、.asadmintruststoreファイルに複数サーバー証明書を保存できます。
--secureオプションを有効にし、.asadmintruststoreファイルが存在しない場合または.asadmintruststoreファイルに指定されたホストのサーバー証明書がない場合、asadminコマンドを実行した後、以下のようなメッセージを出力します。

Do you trust the above certificate [y|n] -->

  1. ユーザがコンソールに”y”を入力すると、指定されたホストのサーバー証明書が作成され、コマンドの実行に成功します。また、.asadmintruststoreファイルが存在しない場合、.asadmintruststoreファイルが作成されます。

    >asadmin create-cluster --secure=true cluster002
    [
    [
      Version: V3
      Subject: CN=xuleijie, OU=Sun GlassFish Enterprise Server, O=Sun Microsystems,
    L=Santa Clara, ST=California, C=US
      Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4
    
      Key:  Sun RSA public key, 1024 bits
      modulus: 128282666785297763709232615016911382068540452571925164881484435807352
    33678058674740174707596757135471005844826959035149947983831556701649379029486723
    75143625304518888455449483001123164720766586531811413926196807365750160414054624
    25776075383403099138593956478275754048419956477627853404427379080134384258507937
    
      public exponent: 65537
      Validity: [From: Thu Feb 04 12:35:43 JST 2010,
                   To: Sat Jan 11 12:35:43 JST 2110]
      Issuer: CN=xuleijie, OU=Sun GlassFish Enterprise Server, O=Sun Microsystems, L
    =Santa Clara, ST=California, C=US
      SerialNumber: [    4b6a408f]
    
    Certificate Extensions: 1
    [1]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 23 EF AE E5 48 D2 A7 B6   25 32 CD DC 04 13 5E 7F  #...H...%2....^.
    0010: 0E B6 9B 53                                        ...S
    ]
    ]
    
    ]
      Algorithm: [MD5withRSA]
      Signature:
    0000: 40 6A 1E 57 09 AE 74 2C   99 D2 D5 1C 23 C4 4F 50  @j.W..t,....#.OP
    0010: 57 00 71 2F 35 8B B2 9F   D6 9B 24 96 73 85 E2 CC  W.q/5.....$.s...
    0020: C3 62 8A EC DE 54 74 DA   0B CF 2F 96 C8 EE 79 83  .b...Tt.../...y.
    0030: F0 11 DD 5C 34 54 A2 3B   DA 6C 34 69 84 E7 6C 86  ...\4T.;.l4i..l.
    0040: 5C F7 F0 2C A3 0B 1F 9D   26 E8 EC 2C F6 8A 40 FE  \..,....&..,..@.
    0050: DC FC EB 84 42 F0 5E 87   E4 1C 59 E1 DE 48 97 9B  ....B.^...Y..H..
    0060: 55 CB 36 D6 30 62 C3 04   E2 11 8D ED 41 6C BA 5E  U.6.0b......Al.^
    0070: 93 57 AF 6D D5 A9 7B F0   79 7F AA 90 38 CC 96 96  .W.m....y...8...
    
    ]
    Do you trust the above certificate [y|n] -->y
    Command create-cluster executed successfully.
  2. ユーザがコンソールに”n”を入力すると、異常が出され、コマンドの実行に失敗します。

    >asadmin create-cluster --secure=true cluster003
    [
    [
      Version: V3
      Subject: CN=xuleijie, OU=Sun GlassFish Enterprise Server, O=Sun Microsystems,
    L=Santa Clara, ST=California, C=US
      Signature Algorithm: MD5withRSA, OID = 1.2.840.113549.1.1.4
    
      Key:  Sun RSA public key, 1024 bits
      modulus: 128282666785297763709232615016911382068540452571925164881484435807352
    33678058674740174707596757135471005844826959035149947983831556701649379029486723
    75143625304518888455449483001123164720766586531811413926196807365750160414054624
    25776075383403099138593956478275754048419956477627853404427379080134384258507937
    
      public exponent: 65537
      Validity: [From: Thu Feb 04 12:35:43 JST 2010,
                   To: Sat Jan 11 12:35:43 JST 2110]
      Issuer: CN=xuleijie, OU=Sun GlassFish Enterprise Server, O=Sun Microsystems, L
    =Santa Clara, ST=California, C=US
      SerialNumber: [    4b6a408f]
    
    Certificate Extensions: 1
    [1]: ObjectId: 2.5.29.14 Criticality=false
    SubjectKeyIdentifier [
    KeyIdentifier [
    0000: 23 EF AE E5 48 D2 A7 B6   25 32 CD DC 04 13 5E 7F  #...H...%2....^.
    0010: 0E B6 9B 53                                        ...S
    ]
    ]
    
    ]
      Algorithm: [MD5withRSA]
      Signature:
    0000: 40 6A 1E 57 09 AE 74 2C   99 D2 D5 1C 23 C4 4F 50  @j.W..t,....#.OP
    0010: 57 00 71 2F 35 8B B2 9F   D6 9B 24 96 73 85 E2 CC  W.q/5.....$.s...
    0020: C3 62 8A EC DE 54 74 DA   0B CF 2F 96 C8 EE 79 83  .b...Tt.../...y.
    0030: F0 11 DD 5C 34 54 A2 3B   DA 6C 34 69 84 E7 6C 86  ...\4T.;.l4i..l.
    0040: 5C F7 F0 2C A3 0B 1F 9D   26 E8 EC 2C F6 8A 40 FE  \..,....&..,..@.
    0050: DC FC EB 84 42 F0 5E 87   E4 1C 59 E1 DE 48 97 9B  ....B.^...Y..H..
    0060: 55 CB 36 D6 30 62 C3 04   E2 11 8D ED 41 6C BA 5E  U.6.0b......Al.^
    0070: 93 57 AF 6D D5 A9 7B F0   79 7F AA 90 38 CC 96 96  .W.m....y...8...
    
    ]
    Do you trust the above certificate [y|n] -->n
    asadmin: ERROR: ISJEE_OM2998: Error in Interstage Java EE DAS. ERROR=The certificate chain from the server is not trusted
    asadmin: ERROR: ISJEE_CLI137: Command create-cluster failed.

オプション

asadminコマンドのオプションは、「--help」のようにキーワードの先頭にハイフンを2つ付加した形式です。

値の指定方法

オプションには3種類あり、値の指定方法が異なります。それぞれについて以下に説明します。

オプション種別

値の指定方法

使用例

Boolean値を指定するオプション

オプションと値の間を「=」で区切って指定する。

--echo=true

文字列・数値を指定するオプション

オプションと値の間を空白または「=」で区切って指定する。(注)

--file foo.txt
--interval=-1

値指定を行わないオプション

--help


注)ハイフン(「-」)から始まるオプションの値を指定する場合、オプション名と値を「=」で区切って指定してください。

値の省略

Boolean値を指定するオプションは、値を省略してオプションだけを指定できるものがあります。オプションだけを指定する場合は、「=」も省略します。値の指定を省略した場合、デフォルト値としてtrueが設定されます。
これにより、以下の2つの入力は同じ意味になります。

> asadmin create-cluster --echo=true
> asadmin create-cluster --echo

Boolean値以外の省略可能オプションは、値を省略してオプションだけを指定できるものがあります。オプションだけを指定する場合は、「=」は省略できません。値の指定を省略した場合、デフォルト値が設定されます。
これにより、以下の2つの入力は同じ意味になります。

> asadmin update-web-server-connector-config --maxprocessors=600 --target IJServer001
> asadmin update-web-server-connector-config --maxprocessors= --target IJServer001

簡略名の使用

頻繁に使用されるオプションは、英単語一文字の簡略名を指定できます。簡略名の場合は、先頭のハイフンは1つです。簡略名の使用例を以下に示します。

> asadmin create-cluster -e=true

複数の簡略名を続けて指定できます。例えば、以下の2つの入力は同じ意味になります。

asadmin create-cluster -e -t
asadmin create-cluster -et

複数オプションの指定

複数のオプションを同時に指定したい場合は、空白で区切って指定します。同じオプションを複数指定した場合はエラーとならず、後に指定したオプションの値が有効になります。
例えば、以下のケースでは、最後に指定した「--echo=true」が有効になります。

> asadmin create-cluster --echo=false --echo=true

不正なオプションの指定

コマンド実行時に不正なオプションを指定した場合は、サブコマンドのUsageとエラーメッセージが表示されてコマンドが終了します。

Usage: start-cluster [--terse[=true|=false]] [--echo[=true|=false]] [--interactive[=true|=false]] [--host host] [--port port] [--secure[=true|=false]] [--user admin_user] [--passwordfile file_name] [--help] cluster_name
CLI013: Option agae does not apply to start-cluster.

オペランド

オペランドはコマンドの引数の最後尾に指定する文字列であり、操作対象の名前などを指定する時に使用します。
必須オペランドを省略した場合、以下のようにUsageとエラーメッセージを表示してコマンドが終了します。
なお、オペランドにはハイフン(「-」)から始まる値を指定することはできません。このような値を指定したい場合、Interstage Java EE管理コンソールを利用して定義更新を行ってください。

Usage: start-cluster [--terse[=true|=false]] [--echo[=true|=false]] [--interactive[=true|=false]] [--host host] [--port port] [--secure[=true|=false]] [--user admin_user] [--passwordfile file_name] [--help] cluster_name
CLI020: Operand is required.

targetの指定

各サブコマンドの--targetオプション、またはオペランドで操作対象を指定する場合に指定できる値について説明します。

指定できる値

説明

IJServerクラスタ名

作成済みのIJServerクラスタに対して操作を実施します。

サーバーインスタンス名

作成済みのサーバーインスタンスに対して操作を実施します。

設定名

作成済みの設定に対して操作を実施します。

domain

ドメイン(Java EE運用環境)に対して操作を実施します。
サブコマンドにより指定した場合の動作が異なるため、詳細は各サブコマンドの説明を参照してください。

主に以下のような動作となります。

  1. システムプロパティ作成
    domainに作成したシステムプロパティは、全てのIJServerクラスタ、サーバーインスタンス、設定で有効になります。

  2. リソース作成
    どのIJServerクラスタからも参照されていないリソースを作成します。

  3. list表示
    Java EE運用環境に作成されているすべての資産を表示します。

  4. アプリケーションの作成
    どのIJServerクラスタからも参照されていないアプリケーションを作成します。

  5. ライフサイクルモジュールの定義作成
    どのIJServerクラスタからも参照されていないライフサイクルモジュールの定義を作成します。

server

Interstage Java EE DASサービスに対して操作を実施します。
("server"はInterstage Java EE DASサービスのインスタンス名です。)


各サブコマンドで指定できる値が異なるため、どの値が指定できるかは各サブコマンドの説明を参照してください。

ユーザとパスワードの指定

asadminコマンド利用時、以下のいずれかの方法でInterstage Java EE DASサービスへの認証に使用するユーザとパスワードを指定します。

コマンド実行時に入力

asadminコマンドの実行時に以下のような問い合わせが行われますので、ユーザとパスワードをそれぞれ入力します。

> asadmin create-cluster IJServer001
Please enter the admin user name>admin
Please enter the admin password>
Command create-cluster executed successfully.

パスワードファイルの指定

--userオプションと--passwordfileオプションを指定することで、asadminコマンド実行時のユーザとパスワードの入力を省略できます。
以下に実行例を示します。

> asadmin create-cluster --user admin --passwordfile password.txt IJServer001
Command create-cluster executed successfully.

--passwordfileオプションで指定するパスワードファイルは、AS_ADMIN_PASSWORDを使用して記述します。

AS_ADMIN_PASSWORD=パスワード

なお、指定したパスワードファイルが参照できない場合は、コマンドの実行に失敗します。出力されたエラーメッセージを参照して対処を行ってください。
また、ユーザのホームディレクトリに.asadminpassファイルが存在していても、--passwordfileオプションが指定された場合は--passwordfileオプションの内容が優先されます。
.asadminpassファイルの詳細は、loginサブコマンドを参照してください。
--userオプションと--passwordfileオプションについては「13.1.2 asadminコマンドの共通オプション」も参照してください。

注意


パスワードファイルに記述したパスワードを保護するため、テキストエディタにより作成したパスワードファイルのアクセス権を600に設定してください。

loginコマンドの利用

asadminコマンドのloginサブコマンドを利用することで、asadminコマンド実行時のInterstage Java EE DASサービスのログインユーザとパスワードの入力を省略できます。詳細は、loginサブコマンドを参照してください。

セパレータ

asadminコマンドのオペランド、オプションには複数の値を指定できるものがあります。複数の値を指定する場合、セパレータを指定して各値を区切る必要があります。
セパレータの文字種別は各オペランド、オプションによって異なります。各オペランド、オプションのセパレータは以下の表のとおりになります。


setサブコマンドの場合

オペランド/オプション

セパレータ

applications.j2ee-application.${AppName}.libraries
${clusterName_instanceName}.applications.j2ee-application.${AppName}.libraries


;

:

applications.ejb-module.${AppName}.libraries
${clusterName_instanceName}.applications.ejb-module.${AppName}.libraries

applications.web-module.${AppName}.libraries
${clusterName_instanceName}.applications.web-module.${AppName}.libraries

${clusterName_instanceName_configName}.java-config.debug-options

「 」(半角空白)

${clusterName_instanceName_configName}.java-config.javac-options

${clusterName_instanceName_configName}.java-config.jvm-options

,

${clusterName_instanceName_configName}.java-config.profiler.jvm-options

${clusterName_instanceName_configName}.ijserver-control.environment-variable


setサブコマンド以外の場合

サブコマンド

オペランド/オプション

セパレータ

create-system-properties

name

:

create-jvm-options

jvm_option_name

delete-jvm-options

jvm_option_name

create-lifecycle-module

--property

rollback-transaction

transaction_id

create-jdbc-connection-pool

--property

create-jdbc-resource

--property

create-jms-resource

--property

create-jndi-resource

--property

create-javamail-resource

--property

create-custom-resource

--property

create-connector-connection-pool

--property

create-admin-object

--property

create-resource-adapter-config

--property

create-profiler

--property

create-connector-security-map

--principals

,

--usergroups

update-connector-security-map

--addprincipals

--addusergroups

--removeprincipals

--removeusergroups

create-file-user

--groups

:

update-file-user

--groups

エスケープ文字の利用

コマンドのオプションまたはオペランドの値に以下に示す文字を利用する場合、エスケープ文字として'\'を指定する必要があります。

注意

get/set/listサブコマンドのオペランド(定義項目名)には指定できない文字があります。get/set/listサブコマンドのオペランド(定義項目名)で利用可能な文字については、「13.1.4 定義項目参照/更新」の「定義項目名に指定可能な文字」を参照してください。

文字の種類

説明

文字

メタ文字(Solaris/Linux)

メタ文字(Solaris/Linux)として利用される文字

;&()|><*?[]~+-@!"'\`${}^ (注)

Javaエスケープシーケンス

Javaにおいてエスケープ文字として利用される文字

\、"など

asadminコマンドの区切り文字

asadminコマンドの区切り文字である文字

:

asadminコマンドの特殊文字

以下のサブコマンドで、エスケープ文字として利用される特殊文字

  • get

  • set

  • list

  • create-jvm-options

  • delete-jvm-options

  • create-lifecycle-module

  • create-jdbc-connection-pool

,.-:=

マルチモードの特殊文字

マルチモードでエスケープ文字として利用される特殊文字

\

注) 利用しているShellの種類により、メタ文字(Solaris/Linux)として扱われる文字が異なります。Bourne ShellとC Shellのメタ文字(Solaris/Linux)について、以下に説明します。

  

Bourne Shell

C Shell

  

Bourne Shell

C Shell

  

Bourne Shell

C Shell

;

?

×

"

&

[

×

'

(

]

×

×

\

)

~

×

×

`

|

+

×

$

>

-

×

{

<

@

×

}

×

*

×

!

^

×

○:エスケープが必要
×:エスケープは不要
-:メタ文字(Solaris/Linux)ではない


エスケープ文字の利用の実行例

実行例を以下に示します。

例1: メタ文字(Solaris/Linux)

オプションの値に「Test\Escape\Character」を指定する場合、以下のようにエスケープ文字を使用します。

Windowsではメタ文字(Solaris/Linux)のエスケープは不要です。

asadmin create-jdbc-connection-pool --datasourceclassname org.apache.derby.jdbc.ClientDataSource --restype javax.sql.DataSource --property user=APP:password=APP:databaseName=samples:serverName=localhost:portNumber=1527 --description Test\\Escape\\Character SamplePool

注) 外部ファイルを指定してsetサブコマンドを実行した場合、およびmultimodeサブコマンドの利用時は、メタ文字(Solaris/Linux)のエスケープは不要です。

例2: Javaエスケープシーケンス

オプションの値に「c:\foo\bar」を指定する場合、以下のようにエスケープ文字を使用します。

asadmin create-jvm-options --target testserver -Dlocation=c\:\\foo\\bar

asadmin create-jvm-options --target testserver -Dlocation=c\\:\\\\foo\\\\bar

例3: asadminコマンドの区切り文字

propertyオプションに以下のnameとvalueを指定する場合について説明します。

user=scott:password=tiger:url=jdbc:oracle:thin:@//localhost:1521/sampledb

以下のようにエスケープ文字を使用します。

asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property user=scott:password=tiger:url=jdbc\:oracle\:thin\:@//localhost\:1521/sampledb SamplePool

asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleDataSource --restype javax.sql.DataSource --property user=scott:password=tiger:url=jdbc\\:oracle\\:thin\\:@//localhost\\:1521/sampledb SamplePool

例4: メタ文字(Solaris/Linux)、Javaエスケープシーケンス、asadminコマンドの区切り文字が混在する場合

asadmin create-jvm-options --target testserver -e\:-Dlocation=c\:\\foo\\bar

asadmin create-jvm-options --target testserver -e\\:-Dlocation=c\\:\\\\foo\\\\bar

この場合、'\'の本来の意味を表現するために4つのエスケープ文字(\\\\)を指定する必要があります。それぞれの'\'の意味は以下のとおりです。
  1つ目の'\': メタ文字(Solaris/Linux)のエスケープ
  2つ目の'\': Javaエスケープシーケンスのエスケープ
  3つ目の'\': メタ文字(Solaris/Linux)のエスケープ
  4つ目の'\': 本来の'\'を意味します
1つ目の'\'は2つ目の'\'に対するエスケープ、3つ目の'\'は4つ目の'\'に対するエスケープです。
'\'に対してJavaエスケープシーケンスを指定する場合、"\\"と表記します。
'\'はメタ文字(Solaris/Linux)に該当するため、Solaris/Linuxのasadminコマンドで上記を指定する場合はそれぞれの'\'に対してエスケープ文字として'\'を付加する必要があります。

例5: asadminコマンドの特殊文字(setサブコマンド)

setサブコマンドで、オプション「jvm-options」の値に「-Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar」を指定する場合、以下のようにエスケープ文字を使用します。

asadmin set testserver.java-config.jvm-options=-Dcom.sun.enterprise.taglibs=appserv-jstl.jar\,jsf-impl.jar

asadmin set testserver.java-config.jvm-options=-Dcom.sun.enterprise.taglibs=appserv-jstl.jar\\,jsf-impl.jar

また、外部ファイルを使用しオプション「jvm-options」の値に「-Dcom.sun.enterprise.taglibs=appserv-jstl.jar,jsf-impl.jar」を指定する場合、以下のようにエスケープ文字を使用します。

testserver.java-config.jvm-options=-Dcom.sun.enterprise.taglibs=appserv-jstl.jar\,jsf-impl.jar

例6: asadminコマンドの特殊文字(get/set/listサブコマンド)

get/set/listサブコマンドで、「sample.name」のようにピリオドが含まれた文字列をキー名に指定する場合、以下のようにエスケープ文字を使用します。

asadmin set testserver.property.sample\.name=samplevalue
asadmin get testserver.property.sample\.name

asadmin set testserver.property.sample\\.name=samplevalue
asadmin get testserver.property.sample\\.name

例7: asadminコマンドの特殊文字

オペランドに先頭が'-'である文字列を指定し、かつ、その文字列がコマンドオプションと合致する場合、先頭の'-'をエスケープする必要があります。
例えば、-s、-o=value、--switch、--option=valueなどをオペランドに指定する場合は、先頭の'-'をエスケープする必要があります。
以下に使用例で説明します。

create-jvm-optionsdelete-jvm-optionsサブコマンドで、オプションの値に「-Xmx512m」や「-Dlocation=c:\foo\bar」を指定する場合、以下のようにエスケープ文字を使用します。

asadmin create-jvm-options --target testserver \-Dlocation=c\:\\foo\\bar (注1)
asadmin delete-jvm-options --target testserver \-Dlocation=c\:\\foo\\bar
asadmin create-jvm-options --target testserver \-Xmx512m (注2)
asadmin delete-jvm-options --target testserver \-Xmx512m

asadmin create-jvm-options --target testserver \\-Dlocation=c\\:\\\\foo\\\\bar (注1)
asadmin delete-jvm-options --target testserver \\-Dlocation=c\\:\\\\foo\\\\bar
asadmin create-jvm-options --target testserver \\-Xmx512m (注2)
asadmin delete-jvm-options --target testserver \\-Xmx512m

注1) create-jvm-optionsサブコマンドで、「-xxxx=yyyy」(xxxxはオプション、yyyyは指定値)の形式のオペランド(Java VMのオプション)を指定する場合は、以下のようにオプションの「-」部分についてはエスケープ文字を使用しないで指定することもできます。

asadmin create-jvm-options --target testserver -Dlocation=c\:\\foo\\bar

asadmin create-jvm-options --target testserver -Dlocation=c\\:\\\\foo\\\\bar

注2) create-jvm-optionsサブコマンドで、「-xxxx」(xxxxはオプション)の形式のオペランドを指定する場合は、注1)の場合と異なり、例のようにオプションの「-」部分についてエスケープ文字を使用する必要があります。

例8: asadminコマンドの特殊文字(create-lifecycle-moduleサブコマンド)

create-lifecycle-moduleサブコマンドで、オプション「property」の値に「rmi="Server=acme1:7070":timeout=30」を指定する場合、以下のようにエスケープ文字を使用します。

asadmin create-lifecycle-module --target testserver --classname "com.acme.CustomSetup" --classpath "/export/customSetup" --loadorder 1 --property rmi="Server\=acme1\:7070":timeout=30 customSetup

以下のいずれかの方法でエスケープを行います。

asadminの特殊文字をエスケープする方法

asadmin create-lifecycle-module --target testserver --classname "com.acme.CustomSetup" --classpath "/export/customSetup" --loadorder 1 --property rmi="Server\=acme1\:7070":timeout=30 customSetup

メタ文字(Solaris/Linux)の'"'をエスケープする方法

asadmin create-lifecycle-module --target testserver --classname "com.acme.CustomSetup" --classpath "/export/customSetup" --loadorder 1 --property rmi=\"Server=acme1:7070\":timeout=30 customSetup

例9: asadminコマンドの特殊文字(create-jdbc-connection-poolサブコマンド)

create-jdbc-connection-poolサブコマンドで、オプション「property」の値に以下のnameとvalueを指定する場合について説明します。

user=scott:password=tiger:url="jdbc:oracle:thin:@(DESCRIPTION=(ENABLE=BROKEN)(ADDRESS_LIST=(LOAD_BALANCE=ON)(FAILOVER=ON)(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.1)(PORT=1521))(ADDRESS=(PROTOCOL=tcp)(HOST=192.168.0.2)(PORT=1521)))(CONNECT_DATA=(SERVICE_NAME=rac)))"

以下のようにエスケープ文字を使用します。

asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleConnectionPoolDataSource --restype javax.sql.ConnectionPoolDataSource --property user=scott:password=tiger:url="jdbc\:oracle\:thin\:@(DESCRIPTION\=(ENABLE\=BROKEN)(ADDRESS_LIST\=(LOAD_BALANCE\=ON)(FAILOVER\=ON)(ADDRESS\=(PROTOCOL\=tcp)(HOST\=192.168.0.1)(PORT\=1521))(ADDRESS\=(PROTOCOL\=tcp)(HOST\=192.168.0.2)(PORT\=1521)))(CONNECT_DATA\=(SERVICE_NAME\=rac)))" OracleRACPool

以下のいずれかの方法でエスケープを行います。

asadminの特殊文字をエスケープする方法

asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleConnectionPoolDataSource --restype javax.sql.ConnectionPoolDataSource --property user=scott:password=tiger:url="jdbc\:oracle\:thin\:@\(DESCRIPTION\=\(ENABLE\=BROKEN\)\(ADDRESS_LIST\=\(LOAD_BALANCE\=ON\)\(FAILOVER\=ON\)\(ADDRESS\=\(PROTOCOL\=tcp\)\(HOST\=192.168.0.1\)\(PORT\=1521\)\)\(ADDRESS\=\(PROTOCOL\=tcp\)\(HOST\=192.168.0.2\)\(PORT\=1521\)\)\)\(CONNECT_DATA\=\(SERVICE_NAME\=rac\)\)\)" OracleRACPool

メタ文字(Solaris/Linux)の'"'をエスケープする方法

asadmin create-jdbc-connection-pool --datasourceclassname oracle.jdbc.pool.OracleConnectionPoolDataSource --restype javax.sql.ConnectionPoolDataSource --property user=scott:password=tiger:url=\"jdbc:oracle:thin:@\(DESCRIPTION=\(ENABLE=BROKEN\)\(ADDRESS_LIST=\(LOAD_BALANCE=ON\)\(FAILOVER=ON\)\(ADDRESS=\(PROTOCOL=tcp\)\(HOST=192.168.0.1\)\(PORT=1521\)\)\(ADDRESS=\(PROTOCOL=tcp\)\(HOST=192.168.0.2\)\(PORT=1521\)\)\)\(CONNECT_DATA=\(SERVICE_NAME=rac\)\)\)\" OracleRACPool

例10: マルチモードの特殊文字

コマンドをマルチモードで実行し、1つまたは複数の'\'を含む値を指定する場合、以下のいずれかの方法でエスケープ処理を行う必要があります。

  • 1つまたは複数の'\'の先頭にエスケープ文字として'\'を追加する。

  • '\'が含まれた値を'"'で囲む。

以下のサブコマンドを実行する場合の対処例を示します。

create-jvm-options --target testserver \-Dlocation=c\:\\foo\\bar

エスケープ文字を利用する場合

asadmin>create-jvm-options --target testserver \\-Dlocation=c\\:\\\foo\\\bar

ダブルクォーテーションを利用する場合

asadmin>create-jvm-options --target testserver \\-Dlocation="c\:\\foo\\bar"


'.'を含む定義項目を作成した場合、listサブコマンドの実行時にエスケープ文字が付与された形式で出力されます。

例: 「thread.pool001という名前のスレッドプールを作成した場合

以下に実行例を示します。

>asadmin create-threadpool --target server thread.pool001
Command create-threadpool executed successfully.

>asadmin list server.thread-pools.thread-pool
server.thread-pools.thread-pool.thread-pool-1
server.thread-pools.thread-pool.thread\.pool001

空白を含む文字列の指定

getサブコマンドで、オプション「file」の値に「sample get.txt」を指定する場合、以下のように実行します。

asadmin get --file "sample get.txt" testserver.*

コマンドラインでは、コマンドオプションに空白を含む文字列を指定できません。
コマンドオプションに空白を含む文字列を指定したい場合は、multimodeサブコマンドの--fileオプションを利用する方法があります。
getサブコマンドで、オプション「file」の値に「sample get.txt」を指定する場合の実行例を以下に示します。

  1. multimodeサブコマンドの入力とする外部ファイル「execute_get.txt」に以下のように記載します。

    get --file "sample get.txt" testserver.*

  2. 1.の外部ファイルを入力として、multimodeサブコマンドを実行します。

    asadmin multimode --file execute_get.txt

注意

空白を含む文字列を指定する場合の注意

末尾が空白である値は指定できません。指定した場合、末尾の空白が取り除かれた値が有効になります。

入力文字列長の上限

asadminコマンド実行時の入力文字列長の上限を以下に示します。

  

multimodeサブコマンドを利用しない場合

6984バイト
(コマンドプロンプトに入力できる文字列の最大長)

256バイト
(ターミナルに入力できる文字列の最大長)

multimodeサブコマンドを利用する場合

--fileオプションを指定しない場合

8190バイト

256バイト
(上記と同じ)

--fileオプションを指定する場合

無制限
(外部ファイルに記述するコマンドの文字列長は無制限)