名称

      mxexec - Systems Insight Manager ツールの実行


構文

      mxexec -t toolname [-A argvalue ...] ... [-h | -O filename | -
      o directory ] [-n target ... | -q queryname] ...

      mxexec -c [-k] -j job_ID
      mxexec [-l n|t] [-i task_name ... | -j job_ID... ] [-d date]
      mxexec -l d [-h] -j job_ID ...


説明

      mxexec コマンドは、Systems Insight 管理対象の特定のノードやノード グ
      ループ上で、関連する引き数とともにSystems Insight Manager ツールを実行
      するのに使用します。 1つまたは複数のノード上で実行するよう指定された
      Systems Insight Manager ツールとその引き数を、タスクと言います。特定の
      時点で実行されているタスクのインスタンスをジョブと言います。

      第1の構文形式で、Systems Insight Manager ツールを実行できます。 mxexec
      がツールを実行するには、ツール名が必要です。また、実行するツールに応じ
      て引き数の値やターゲットも必要になります。ツールから戻された結果は、オ
      プション指定により 1つのファイル、または Systems Insight 管理対象の
      ノードごとに複数のファイルに保存できます。さらに、ジョブのヘッダ情報を
      出力せず、ジョブの標準出力を stdout へ、ジョブの標準エラーを stderr へ
      出力するようオプション指定することもできます。ジョブのヘッダ情報を抑制
      するオプションは、ジョブの出力をファイルまたはディレクトリに出力するオ
      プションと相互に排他的であることに注意してください。

      第2の構文形式で、特定のジョブをキャンセルできます(オプションでコマンド
      実行を停止することもできます)。ジョブをキャンセルおよび停止できるの
      は、すべての権限を持つユーザかジョブを起動したユーザだけです。

      最後の2つの構文形式で、1つまたは複数の実行中のジョブに関する情報を表示
      できます。すべてのジョブの表示、特定のジョブを表す job_ID の表示、特定
      の task_name を持つすべてのジョブの表示が可能です。特定の日付以降に完
      了したジョブをすべて表示するには、 -d オプションを使用します。日付は次
      の形式で指定してください。
        // : AM|PM
      日付を指定する文字列は、それが空白を含む1つの引数として解釈されるよう
      に、引用符(")で囲む必要があります。

      オプションなしで実行すると、 mxexec は Systems Insight Manager ユーザ
      の未完了ジョブのリストを表示します。特定のジョブに対する表示の詳細度を
      指定できます。Systems Insight Manager ユーザは、自分が実行したか否かに
      かかわらず、どのジョブの詳細でも見ることができます。ジョブの詳細を確認
      する場合、Systems Insight Manager ユーザはジョブヘッダの出力を抑制し、
      ジョブの出力を stdout または stderr に出力させるようオプション指定する
      ことも可能です。

    ツールの実行権限
      Systems Insight Manager は mxexec コマンドを実行したユーザが、指定され
      た Systems Insight 管理対象のノード上でそのツールを実行する権限を持っ
      ているか確認します。指定されたすべてのノード上でツールを実行する権限を
      ユーザが持っていない場合、その旨を示すメッセージの stderr への表示と
      Systems Insight Manager ログファイルへの記録が行われ、ジョブは中止され
      ます。Systems Insight Manager ログファイルのデフォルトの位置は
      /var/opt/mx/logs/mx.log です。

      以下の条件がすべて真の場合、ユーザにはノード上でツールを実行する権限が
      あります。

	   ユーザが有効な Systems Insight Manager ユーザである (  mxuser(1M)
	   を参照)。

	   ツールが Systems Insight Manager ツールボックスに割り当てられてい
	   る( mxtool(1M) を参照)。

	   ユーザにそのノード上でツールボックスを持つ権限が付与されている
	   (  mxauth(1M) を参照)。

      ツールの権限は「すべてかゼロか」であり、ターゲット リスト内の全ノード
      上でツールを実行する権限をユーザが持っていなければツールの実行は失敗し
      ます。

    デフォルトのターゲット ノードがツール実行に与える影響
      ツール属性のデフォルト ターゲット defTargets (  mxtool(4) を参照)の値
      により、コマンドラインでターゲットを指定しなかった場合のツールの動作を
      変更することができます。コマンドラインでターゲットを指定しなかった場
      合、 defTargets の値によりツールの動作がどのように変わるかを以下に示し
      ます。

	   ALL		  ターゲット リストとして、ユーザに権限が付与されて
			  いるすべてのノードが使用されます。

	   CMS		  ターゲット リスト内の唯一のノードとして、Systems
			  Insight Manager 中央管理サーバ (CMS) が使用されま
			  す。

	   [empty]	  エラー。ターゲット リストの指定が必要です。

	   user-specified	  ターゲット リストとして、ツール定義ファイルで指定
			  されたターゲット リストが使用されます。

      コマンドラインでターゲット リストが指定された場合、 defTargets の値は
      無視されます。ツールの実行前に、各ターゲット ノードに対する権限が確認
      されます。

    ターゲットの実行環境
      ノード上でジョブが実行されているとき、その環境には、CMS上で収集され、
      ターゲット ノード上の Systems Insight Manager エージェントに送られた情
      報が格納されます。ツールコマンドの実行環境には、以下の変数が設定されま
      す。

	   MX_USER
		ジョブを実行中の UNIXログイン名が格納されます。

	   MX_JOBID
		ジョブに割り当てられたジョブID。

	   MX_TOOL
		Systems Insight Manager ツール名(ツール スクリプト名とは異な
		る場合があります)。

	   MX_TARGETS
		このジョブに対する、空白で区切られたターゲット ノードのリス
		トが格納されます。ターゲット ノードは辞書順にソートされま
		す。

	   MX_CMS
		Systems Insight Manager CMS のホスト名。

	   MX_REPOSITORY
		SQL Server Service のレポジトリを格納しているシステムのホス
		ト名。 $MX_CMSと同じです。

	   DISPLAY
		ユーザ環境からコピーされた値が設定されます。これにより、X
		Window GUI を使用するツールは、正しいXサーバに接続できます。

	   HOME ツール定義で指定された実行ユーザのホーム ディレクトリが設定
		されます。ホーム ディレクトリはターゲット ノード上で検索され
		ます。

	   SHELL
		/usr/bin/sh に設定されます。

      以下の変数は空の文字列に設定されます。

	   CLASSPATH

	   ENV

	   JAVA_HOME

	   SHLIB_PATH

      また、以下の環境変数はエージェントを生成する init(1m) プロセスから値を
      継承します。これはデフォルト値であり、通常はあまり役に立ちません。

	   INIT_STATE

	   PATH


      最後に、いくつかの環境変数は POSIXシェル (/usr/bin/sh) により自動的に
      設定されます。自動設定される環境変数の詳細は、 sh-posix(1) のマンペー
      ジを参照してください。

    ツールの実行ステータス
      すべてのターゲット ノードで、ジョブは各ノード上での進行状況を示すいく
      つかのステータスを遷移していきます。ステータスには、Pending、Copying
      files、Running tool、Complete があります。

	   Pending	  そのターゲット上で、処理は何も開始されていません。
			  このステータスは、ターゲット ノードが非常に多く、
			  CMS 分散タスク ファシリティ (DTF) が少数のノード上
			  でしかジョブを同時に実行できない場合に使用されま
			  す。ジョブの開始を待っているターゲットが Pending
			  状態となります。

	   Copying files  コピーするファイルがある場合、ジョブは次にこのス
			  テータスに入ります。このステータスでは、ファイル内
			  容がターゲットに送信され、ターゲットではファイルの
			  書き込み、およびファイルの所有権とアクセス権の設定
			  が行われます。コピーされるファイルの最大数は 16 で
			  す。

	   Running tool	  実行するコマンドラインがある場合(あるツールにとっ
			  てコマンドラインはオプションです)、ジョブはこのス
			  テータスに入ります。このステータスでは、ターゲット
			  がプロセスをフォークして、コマンドの実行とクリーン
			  なプロセス環境の構築が行われます(前述の ターゲット
			  の実行環境 を参照)。次に、コマンドラインを引き数と
			  して POSIXシェル(  sh-posix(1) を参照)を実行しま
			  す(  execl(1) を参照)。コマンドラインは、ツール定
			  義の "user" キーワードで指定された実行ユーザの
			  HOME ディレクトリ(ターゲット上で getpwuid(3C) によ
			  り定義)から実行されます。ユーザがターゲット上に存
			  在しない場合は、代わりに / が使用されます。プロセ
			  スのstdinは /dev/null に設定されます。ツールが起動
			  のみのツールである場合、ターゲット上のエージェント
			  はシェルがコマンドラインを正常に実行したらすぐに次
			  のステータスに移行します。そうでない場合、ターゲッ
			  ト エージェントはコマンドラインの実行が終了するま
			  で待ってから DTFに返されるプロセスのstdout、
			  stderr、終了コードを収集します。ツールによるコマン
			  ド実行が完了した後、すべての結果はDTFに返され、接
			  続が閉じられます。

	   Complete	  ジョブが完了し、すべての結果が DTF によりユーザ イ
			  ンタフェースで利用可能となり、 Systems Insight
			  Manager ログファイルにも記録された状態です。

    タスクの終了
      タスクが mxexec で開始された後、 Running tool 状態になる前であれば終了
      できます。 Running tool 状態にあるターゲット ノード上では終了を指示し
      ても何も起きず、ジョブの実行はそのまま続行されます。 Complete 状態にあ
      るターゲット ノード上でも、ジョブはすでに完了しているため、終了を指示
      しても何も起きません。ジョブの終了は、 mxexec-c オプション(必要に
      応じて -k オプションも)を付けて実行することで個別に行います。キャンセ
      ルするジョブの job_ID を -i オプションで指定する必要があります。

      キャンセルされたジョブは、ターゲット ノード上でそれ以上の処理を行いま
      せん。キャンセル時にファイルのコピー中だった場合、そのコピーは中止さ
      れ、すでにコピーされた内容はすべて破棄されます。実行前に古いファイルが
      存在していた場合、そのファイルが復元されます。すでにターゲットにコピー
      されたファイルはそのまま残され、ジョブ実行前の状態には戻りません。

      ジョブを停止した場合は、上記のキャンセル処理に加えて、ツールに関連する
      コマンドラインの実行のために起動されたシェルプロセスが停止されます。こ
      れは、プロセスグループに SIGKILL シグナルを送信することで行われます
      (	 kill(1)) を参照)。実行中のプロセスを停止することは、危険を伴いま
      す。実行中のプロセスを停止することで、(可能性は低いものの)システムが整
      合性のない状態になる可能性があります。ジョブの停止は慎重に行う必要があ
      ります。

    タスクの同時実行に関する制限
      Systems Insight Manager には、同時実行できるジョブの最大数に影響を及ぼ
      す3つの制限があります。

      DTFには、同時実行できるジョブの数が10までという制限があります。つま
      り、10個のジョブがすでに実行中で、(mxexec またはポータルのいずれかか
      ら)さらにもう1つのジョブの実行が要求された場合、新しいジョブは現在実行
      中のジョブのどれか1つが完了するまで保留されます。現在実行中のジョブが
      すべて完了までに時間がかかる場合 (SD を使った大きなソフトウェアパッ
      ケージのインストールや、I/UX を使用した復旧イメージの生成など、時間の
      かかるタスクを実行している場合)、新しいジョブは長時間保留される可能性
      があります。この制限は DTF に共通するもので、ユーザごとの制限ではあり
      ません。

      また、DTF では同時に接続できるエージェントの数が16に制限されています。
      つまり、ある時点において、DTF により送り出されたジョブを実行している
      エージェントの数が16を超えることはありません。したがって、16を超える
      ターゲット ノードを参照するジョブが起動された場合、最初の 16ターゲット
      上でのみ、すぐにジョブが開始されます。残りのターゲットは、実行中のター
      ゲットのいずれか1つの実行が終了するまで、状態は Pending で保留されま
      す。この制限は DTF に共通するもので、ジョブやユーザごとの制限ではあり
      ません。したがって、現在 12のターゲット上でジョブが実行されており、新
      たに 6つのターゲットを参照するジョブが要求された場合、すぐにジョブが開
      始されるのは最初の 4つのターゲットのみで、他のターゲットはジョブ実行中
      のターゲットのいずれか1つでジョブが終了するまで、 Pending状態で保留さ
      れます。

      エージェントには、同時実行できるジョブの数が4つまでという制限がありま
      す。この制限により、エージェントが同時実行できるコマンドの数は4つまで
      となります。あるターゲット上ですでに4つのジョブが実行中であり、その
      ターゲットを参照する新たなジョブが開始された場合、DTF が新たなジョブを
      実行するためにそのターゲット上のエージェントに接続すると、DTF はエー
      ジェントからビジー例外エラーを受け取ります。 DTF は、ビジー状態のター
      ゲットを除いて、他の参照対象のターゲットへの接続を続けます。その後、実
      行中のジョブの1つが完了してエージェントが新たなジョブを受け付けるま
      で、 DTF は定期的にビジー状態のエージェントに接続します。

    オプション
      mxexec には、以下のオプションがあります。

	   -t toolname	  実行するSystems Insight Manager ツールの名前を指定
			  します。toolname には空白またはシェルにより解釈さ
			  れる他の文字が含まれていても構いませんが、引用符で
			  囲む必要があります。

	   -A argvalue	[ argvalue...]
			  ツールの実行に必要な引き数を指定します。値と引き数
			  の順序は一致し、最初に指定した値が最初の引き数に、
			  2番目に指定した値が2番目の引き数に、以下同様になり
			  ます。一部の引き数の値には空白またはシェルにより解
			  釈される他の文字が含まれていても構いませんが、引用
			  符で囲む必要があります。引き数の値は空白で区切りま
			  す。引き数の値を指定する際には、必要な空白を入れな
			  ければなりません。実行ツールのコマンドラインを作成
			  する際、Systems Insight Manager はツール定義または
			  引き数で定義されたもの以外に空白を追加しません。値
			  を指定したくないオプションの引き数に対しては、プ
			  レースホルダとして "" を指定してください。
			  セキュリティ上の理由から、Systems Insight Manager
			  では argvalue の一部として以下の特殊文字を入力する
			  ことはできません。抑音アクセント('`')、セミコロ
			  ン(';')、アンパサンド('&')、バー('|'),、左括
			  弧('(')、ハッシュマーク('#')、大なり記号('>')、小
			  なり記号('<')、改行文字。

	   -h		  ジョブのヘッダ情報の出力を抑制し、ジョブの出力を必
			  要に応じて直接 stdout または stderr に出力します。
			  例外情報も stderr に出力されます。

	   -O filename	  Systems Insight Manager ツールの実行により出力され
			  るすべての stdout および stderr を、 filename で指
			  定したファイルに保存します。ファイルのパス名は、絶
			  対パスまたは現行ディレクトリからの相対パスのどちら
			  でも構いません。ファイルがすでに存在する場合は上書
			  きされます。 ファイルが存在しない場合は、新たに
			  ファイルが作成されます。指定されたディレクトリに出
			  力ファイルが作成できない場合、 Systems Insight
			  Manager は /var/tmp ディレクトリにファイルを書き込
			  もうとします。それも失敗した場合、標準出力
			  (stdout) に出力されます。

	   -o directory	  Systems Insight Manager ツールの実行により出力され
			  るすべての stdout および stderr を、ターゲット
			  ノードごとに1つの結果ファイルとして directory で指
			  定したディレクトリに保存します。ディレクトリ内の各
			  結果ファイルの名前は、"nodename.job_ID" という形式
			  になります。

	   -n target [ target...]
			  ツールを実行する Systems Insight 管理対象のノード
			  やノード グループの名前を指定します。このノードや
			  ノード グループの集まりを、ターゲット リストと言い
			  ます。ターゲットは空白で区切ります。ノード グルー
			  プは "g:" というプレフィクスをつけて区別します。

	   -q queryname	  ツールを実行する既存の Systems Insight Manager ク
			  エリの名前を指定します。

	   -i task_name [ task_name...]
			  指定した操作の対象となる既存のタスクを指定します。

	   -j job ID [ job ID...]
			  指定した操作の対象となる現在実行中のジョブを指定し
			  ます。

	   -d date	  指定した日付以降に完了したジョブのリストを指定しま
			  す。日付は次の形式で指定してください。
				       // : AM|PM
			  日付を指定する文字列は、それが空白を含む1つの引数
			  として解釈されるように、引用符(")で囲む必要があり
			  ます。

	   -c		  ジョブをキャンセルします。

	   -k		  ジョブに関連する実行中のコマンドを停止します。

	   -l d		  指定したジョブについて、ターゲットごとに stdout、
			  stderr、完了ステータスなどを含む詳細情報を表示しま
			  す。このオプションとともにジョブID を指定しないと
			  エラーになります。ジョブID は1つだけ指定できます。
			  また、 -l オプションは1つだけ指定できます。

	   -l n		  ジョブIDのみを一覧表示します。 -l n オプションはリ
			  ストを表示する場合のデフォルトであるため、何もオプ
			  ションを指定しない場合と同じ動作となります。通常、
			  -l n オプションではジョブIDを指定しません。その場
			  合、すべてのジョブが一覧表示されます。ジョブID を
			  指定した場合は、コマンドラインで指定したジョブID
			  の値が現在存在している場合に限り、そのジョブID が
			  表示されます。 -l オプションは1つだけ指定できま
			  す。

	   -l t		  ジョブをロング フォーマットで一覧表示します。指定
			  したジョブID ごとに、タスク名、ジョブID、Systems
			  Insight Managerユーザ、Systems Insight Manager
			  ツール名、ステータスが表示されます。ジョブID を指
			  定しない場合は、すべてのジョブについての情報が表示
			  されます。 -l オプションは1つだけ指定できます。


ターゲット実行環境の多国語化対応

      このコマンドを実行するコマンド シェルの言語設定は、ターゲット ノード上
      で一緒に実行するコマンドラインツールの優先言語として使用されます。

      Windows に関しては、コマンド プロンプト ウィンドウの現在のコード ペー
      ジ設定を使用して優先言語を決定します。たとえば、"chcp" コマンドが
      "932" を返した場合、その言語は日本語です。"chcp" コマンドは、オペレー
      ティング システムにその言語がインストールされ、使用許可の設定をしてい
      る場合に、コード ページの設定変更に使用することができます。

      Linux と HP-UX に関しては、 LANG 環境変数は、優先言語決定に使用される
      ロケールを示します。 "locale -a" コマンドで LANG 変数の有効な設定を一
      覧表示できます。ただし、出力を表示するために、このコマンドの出力を一覧
      表示したコマンド シェルを実行しているターミナル ウィンドウは、 LANG 変
      数で定義した言語とエンコードをサポートしていなければなりません。

      ターゲット ノード上のオペレーティング システムが、CMS で選択した言語設
      定やエンコードをサポートしていない場合は、ターゲット ノード上のコマン
      ド シェルはターゲットのオペレーティング システムに対してデフォルトの言
      語とエンコードを使用します。

      (	 lang (5) を参照) (  environ (5) を参照) (  local (1) を参照)


戻り値

      mxexec は、以下の値のいずれかを返します。

	     0		  正常終了。
	     1		  コマンドラインの構文エラー。
	     2		  ファイル操作エラー。
	     3		  ツールが存在しません。
	     6		  ユーザが存在しません。
	     7		  ノードが存在しません。
	     8		  ノード グループが存在しません。
	     9		  ジョブIDまたはタスク名が存在しません。
	    21		  名前が無効です。
	    27		  操作が無効です。
	    28		  ツールが無効です。
	    29		  実行可能ツールが無効です。
	    50		  ユーザに権限がありません。
	    51		  ツールボックスに権限がないか使用できません。
	    52		  ノードに権限がありません。
	   102		  Systems Insight Manager レポジトリのエラー。
	   222		  CMS が初期化されていません。
	   245		  ジョブ マネージャに接続できません。
	   249		  セッション マネージャに接続できません。
	   250		  リモート例外。
	   254		  Systems Insight Manager プロパティ ファイルのエ
			  ラー。


      "dbgroup" というSystems Insight Manager データベース ノード グループ上
      のディスク容量を確認したいとします。このノード グループは、ノード
      "db1"、"db2"、"db3" から構成されています。このツールは単純で引き数は不
      要です。

	   mxexec -t "bdf" -n g:dbgroup

      このコマンドの出力は以下のようになります。

	   Running tool bdf with job id 143
	   Job ID	: 4
	   Tool Name	: bdf
	   Job State	: Some Failures
	   User Name	: root
	   Start Time	: Wednesday, March 15, 2000 3:18:46 PM MST
	   End Time	: Wednesday, March 15, 2000 3:18:47 PM MST
	   Elapsed Time	: 500 milliseconds
	   Node		: db1.myco.com
	   Status		: Complete
	   Exit Code	: 0
	   STDOUT	:
	   Filesystem          kbytes   used    avail %used Mounted on
	   /dev/vg00/lvol1     119637   18192   89481   17% /stand
	   /dev/vg00/lvol3     86016    29545   53251   36% /
	   /dev/vg00/lvol4     1048576  347477  658305  35% /home
	   /dev/vg00/lvol5     786432   604051  171001  78% /opt
	   /dev/vg00/lvol7     524288   76726   419856  15% /var
	   /dev/vg00/lvol8     339968   291563  45670   86% /usr
	   /dev/vg00/lvol6     131072   2507    120594   2% /tmp
	   Node		: db3.myco.com
	   Status		: Failed
	   Exit Code	: 0
	   EXCEPTION	: Exec failure - Not enough memory
	   Node		: db2.myco.com
	   Status		: Complete
	   Exit Code	: 0
	   STDOUT	:
	   Filesystem          kbytes    used   avail %used Mounted on
	   /dev/vg00/lvol3     83733     18455  56904   24% /
	   /dev/vg00/lvol1     47829     8974   34072   21% /stand
	   /dev/vg00/lvol8     480341    109209 323097  25% /var
	   /dev/vg00/lvol7     466709    329650 90388   78% /usr
	   /dev/vg00/lvol4     30597     12523  15014   45% /tmp
	   /dev/vg00/lvol6     652619    505087 82270   86% /opt
	   /dev/vg00/lvol5     19861     17     17857    0% /home

      次のコマンドですべてのタスクを一覧表示できます。

	   mxexec -lt

      出力は以下のようになります。

	   TASKID  USER    TOOL NAME         STATE
	   839     tedr    Process Status    Complete
	   123     peterk  Install PHCO92874 Running

      ジョブ "123" について、ノードごとにより詳細な情報を表示させるには次の
      ようにします。

	   mxexec -ld -j 123

      出力は以下のようになります。

	   Task Name	: defRunNowTaskId_10
	   Job ID	: 4
	   Tool Name	: Install Software
	   Job State	: Complete
	   User Name	: root
	   Start Time	: Wednesday, March 15, 2000 3:18:46 PM MST
	   End Time	: Wednesday, March 15, 2000 3:18:47 PM MST
	   Elapsed Time	: 12 minutes 17 seconds 261 milliseconds
	   Node		: machine2.myco.com
	   Status		: Complete

	   Exit Code	: 1
	   STDOUT	:
	   =======  09/15/99 16:19:56 MDT  BEGIN swinstall SESSION
		    (non-interactive)
		  * Session started for user "bozo@machine2.myco.com".
		  * Beginning Selection
		  * Target connection failed for
		    "depotsys.myco.com:/patches/PHCO_98765".
		  * Selection had errors.
	   =======  09/15/99 16:19:56 MDT  END swinstall SESSION (non-
	   interactive)
	   STDERR   :
	   ERROR:   More information may be found in the daemon logfile on
		   this target (default location is
		   machine2.myco.com:/var/adm/sw/swagentd.log).
	   Node	   : machine3.myco.com
	   Status	   : Pending

      "machine2.myco.com" 上で実行されたコマンドが失敗していても(終了コード
      =1)、 mxexec または "machine2.myco.com" 上のエージェントに関するエ
      ラーは発生せずにコマンドが実行されたため、 mxexec はこのコマンドが完了
      したと見なしていることに注意してください。コマンドの戻り値だけで失敗が
      発生したかどうかを判断する確実な方法はありません。


制限事項

      本コマンドは、CMS 上でのみ実行可能です。


著者

      mxexe は、HP により開発されました。


参照 (HP-UX)

      mxtool(1M)、mxtool(4)、sh-posix(1)


参照 (Linux)

      mxtool(8)、mxtool(4)、sh-posix(1)


      * 注: コマンドライン上のパスワードを指定する場合、注意しなければなりま
      せん。もしタスクの一部として実行した場合、コマンド履歴、実行中の処理一
      覧および監査ログを利用可能にします。コマンド履歴を削除するまたはパス
      ワードを指定するために代替の方法を使用してください。(例えばプロンプト
      入力ファイル)