ajschkdef
形式
ajschkdef [-F サービス名] [{-s|-a}] [-O][-M][-C][-P][-H][-D][-U][-A] [-p 実行エージェントプロファイル名] [-e ユニット属性プロファイル名] [-u 登録ユーザー名] [-o 出力ファイル名] [-R] [-L] [-T] [-N] [-J] ジョブ名,ジョブネット名,またはジョブグループ名...
機能
定義内容の事前チェックの実行開始,実行状態表示を行います。
実行権限
Windowsの場合:Administrators権限
UNIXの場合:スーパーユーザー権限
格納先ディレクトリ
- Windowsの場合
-
JP1/AJS3 - Managerインストール先フォルダ\bin\
- UNIXの場合
-
/opt/jp1ajs2/bin/
引数
-F サービス名
定義内容の事前チェック対象となるユニットが定義されているスケジューラーサービス名を指定します。
指定できる文字数は,1〜30(単位:バイト)です。
省略した場合は,環境変数AJSCONFの値が仮定されます。環境変数AJSCONFが設定されていない場合は,デフォルトスケジューラーサービス名が仮定されます。
論理ホストのスケジューラーサービス名を指定する場合は,環境変数JP1_HOSTNAMEに論理ホスト名を指定してください。
環境変数JP1_HOSTNAMEを指定していない場合,自ホスト名が仮定されます。
-s
定義内容の事前チェックの実行を開始します。
-a
定義内容の事前チェックの実行状態を標準出力ファイルに出力します。出力する実行状態の状態名称を次の表に示します。
実行状態 |
出力する状態名称 |
意味 |
---|---|---|
未実行 |
stop |
|
実行中 |
run |
|
-O,-M,-C,-P,-H,-D,-U,-A
定義内容の事前チェックでチェックする項目を指定します。
同時に複数のチェック項目を指定することもできます。各オプションのチェック内容,およびチェック順序(チェック順序は,関連線どおりとは限りません)を次の表に示します。
チェック順序 |
オプション |
チェック項目 |
---|---|---|
1 |
-O |
実行順序 |
2 |
-M |
ジョブネット詳細定義※1 |
3 |
-C |
実行エージェント制限 |
4 |
-P |
空ジョブ定義 |
5 |
-H |
実行エージェント名 |
6 |
-U |
ユーザーマッピング※2 |
7 |
-D |
ジョブ詳細定義 |
8 |
-A |
実行ファイル権限※2 |
- 注※1
-
ジョブネットコネクタの接続関係,および待ち合わせ条件で設定した待ち合わせ対象ユニットについてもチェックします。
- 注※2
-
実行ユーザー固定機能を使用している場合,ユニット属性プロファイルの設定内容に従って,固定されているJP1ユーザーでチェックします。
なお,オプションの指定順に関係なく,上記の表の順にチェックされます。また,-Dオプション(ジョブ詳細定義)または-Aオプション(実行ファイル権限)を指定した場合,ファイルの権限チェックにジョブ実行OSユーザーの情報が必要なため,「ユーザーマッピング」も前提としてチェックされます。また,エージェントでのチェック項目である-Pオプション(空ジョブ定義)以降(チェック順序の4〜8)のオプションを指定した場合,「実行エージェント名」も前提としてチェックされます。
省略した場合は,すべてのオプション(-O,-M,-C,-P,-H,-D,-U,-A)が仮定されます。
各オプションとも,-aオプションと同時には指定できません。
-p 実行エージェントプロファイル名
実行エージェント制限のチェックを行う際に,適用する実行エージェントプロファイルを絶対パスで指定します。
指定できる文字数は,1〜255(単位:バイト)です。
指定するフォルダに空白文字を含む場合は,パスを「"(ダブルクォーテーションマーク)」で囲んでください。
このオプションは,-Cオプションと同時に指定します。-Cオプションを指定して,このオプションを省略した場合,-Fオプションで指定したスケジューラーサービス用の実行エージェントプロファイルが適用されます。
互換用ISAM構成の場合にこのオプションを指定すると,エラーになります。
-e ユニット属性プロファイル名
実行ユーザー固定機能のチェックを行う際に,適用するユニット属性プロファイルを絶対パスで指定します。
指定できる文字数は,1〜255(単位:バイト)です。
指定するフォルダに空白文字を含む場合は,パスを「"(ダブルクォーテーションマーク)」で囲んでください。
このオプションは,-U,-D,または-Aオプションと同時に指定します。-Uオプションを指定して,このオプションを省略した場合,-Fオプションで指定したスケジューラーサービス用のユニット属性プロファイルが仮定されます。-Fオプションを省略した場合は,デフォルトスケジューラーサービスのユニット属性プロファイルが仮定されます。
互換用ISAM構成の場合にこのオプションを指定すると,エラーになります。
-u 登録ユーザー名
本番運用で実際にジョブネットを実行登録するJP1ユーザーを指定します。
指定できる文字数は,1〜31(単位:バイト)です。
ジョブ定義で実行ユーザー種別が登録ユーザーのときに,指定したJP1ユーザーでユーザーマッピングのチェックを行います。
省略した場合は,このコマンドの実行ユーザーが仮定されます。
このオプションは,-aオプションと同時には指定できません。
-o 出力ファイル名
定義内容の事前チェック結果格納ファイル名を絶対パスで指定します。定義内容の事前チェック結果格納ファイル名の形式は,「出力例」を参照してください。
指定できる文字数は,1〜255(単位:バイト)です。
指定した出力ファイルと同じ名称のファイルがある場合は上書きします。
ディレクトリのパスがない場合はエラーになります。
省略した場合は,環境設定パラメーターAJSCHK_CHECKFILEに指定したファイル名が仮定されます。環境設定パラメーターAJSCHK_CHECKFILEの指定がない場合は環境設定パラメーターAJSCHK_CHECKFILEのデフォルト値が仮定されます。
環境設定パラメーターAJSCHK_CHECKFILEのデフォルト値などの詳細については,マニュアル「JP1/Automatic Job Management System 3 構築ガイド 20.7.2(1) AJSCHK_CHECKFILE」を参照してください。
このオプションは,-aオプションと同時には指定できません。
-R
指定したユニット配下のすべてのジョブネットまたはジョブを,定義内容の事前チェック対象(チェックの起点)とします。このオプションを,-L,-T,-N,-Jオプションと同時に指定した場合,各オプションの指定内容に従って,該当するジョブネットおよびジョブを,定義内容の事前チェック対象(チェックの起点)とします。
ジョブグループ配下のすべてのジョブネットおよびジョブをチェックするためには,このオプションを-Tオプションと同時に指定してください。
このオプションは,-aオプションと同時には指定できません。
-L
実行登録していないジョブネットおよびジョブに対して定義内容の事前チェックを実行します。
このオプションを,-T,-N,-Jオプションと同時に指定した場合,未登録のジョブネットについて,各オプションの指定内容に従って定義内容の事前チェックを実行します。
このオプションは,-aオプションと同時には指定できません。
-T
ルートジョブネットに対して定義内容の事前チェックを実行します。
このオプションは,-a,-Jオプションと同時には指定できません。
-N
ジョブネットに対して定義内容の事前チェックを実行します。
このオプションは,-a,-Jオプションと同時には指定できません。
-J
ジョブに対して定義内容の事前チェックを実行します。
このオプションは,-a,-T,-Nオプションと同時には指定できません。
ジョブ名,ジョブネット名,またはジョブグループ名
定義内容の事前チェックを実行するジョブ名,ジョブネット名,またはジョブグループ名を指定します。
指定したユニットの配下のユニットが,定義内容の事前チェック対象(チェックの起点)となります。
指定できる文字数は,1〜930(単位:バイト)です。
ジョブ名,ジョブネット名,またはジョブグループ名は,複数指定できます。ルートジョブグループ「/」も指定できます。ただし,ジョブグループ名を指定する場合は,-Rオプションを指定する必要があります。
なお,ジョブ名,ジョブネット名,またはジョブグループ名に,論理ホスト名,スケジューラーサービス名,および実行IDは指定できません。
このオプションは,-aオプションと同時には指定できません。
注意事項
-
定義内容の事前チェックは,本番業務が実行中でない時間帯に実行してください。本番業務の実行中に定義内容の事前チェックを実行した場合,次に示す現象が発生するおそれがあります。
-
スケジューラーデータベースへのアクセス競合によって,業務実行性能が劣化する
-
システムへの負荷が一時的に集中したため,ジョブ実行処理でエラーが発生する
-
-
定義内容の事前チェックの実行中は,このコマンドで新たに定義内容の事前チェックを開始することはできません。定義内容の事前チェックを複数回実行する場合は,このコマンドに-aオプションを指定し,定義内容の事前チェックが実行中でないことを確認してから,実行してください。
-
JP1/AJS3 Check Managerサービスが起動していない場合,このコマンドは異常終了します。JP1/AJS3 Check Agentサービスが起動していない場合は,そのエージェントに対してはチェックしませんが,JP1/AJS3 Check Agentサービスが起動しているほかのエージェントに対してはチェックを継続します。
-
マネージャー側のJP1/AJS3サービスが起動していない状態で定義内容の事前チェックを実施すると,定義内容の事前チェック結果が正しく出力されない場合があります。
-
定義内容の事前チェックを実行中に,チェック対象ユニット(配下のユニットを含む)を追加・削除したり,定義内容を変更したりしないでください。チェック結果が正しく出力されない場合があります。
-
定義内容の事前チェックを実行中に,チェック対象ユニット(配下のユニットを含む)に定義した実行エージェントの設定を変更しないでください。定義内容の事前チェック実行中に実行エージェントの設定を変更すると,チェック結果が正しく出力されない場合があります。
-
定義内容の事前チェック対象外のユニットが指定された場合,スキップしたことを示すメッセージは出力されません。
-
-Rオプションを指定した場合,指定したユニットを含む配下のユニットが定義内容の事前チェック対象となります。この場合,定義内容の事前チェック対象となったユニットを階層ごとに繰り返してチェックするので,同じユニットが複数回チェックされます。
-
-Rオプションを指定した場合,ジョブに対してはジョブ実行エージェント名の定義内容にかかわらず,上位ジョブネットの実行エージェント名を仮定してチェックします。ジョブ実行エージェント名に上位ユニットの実行エージェントを仮定しないでチェックする場合は,-Tオプションまたは-Nオプションを同時に指定して定義内容の事前チェックを実施してください。
-
-Rオプションを指定して,ジョブを事前チェック対象として実行順序のチェックを実施すると,実行順序をジョブ単体にチェックします。このため,-Rオプションを指定し,判定ジョブをチェック対象として事前チェックを実施すると,判定ジョブの従属ジョブが存在しても「判定ジョブに対して従属ジョブが定義されていません」というエラーが出力される場合があります。この場合は,-Rオプションを指定しないでジョブネットを指定して定義内容の事前チェックを実施するか,または-Rオプションと同時に-Tオプション,または-Nオプションを指定して定義内容の事前チェックを実施してください。
-
大量のユニットをチェック中に-aオプションで運用状態を確認すると,結果の表示が遅くなる場合があります。
-
物理ホストでユニットの定義内容を事前にチェックする場合は,環境変数JP1_HOSTNAMEを削除してください。
-
定義内容の事前チェック結果格納ファイルが出力されない場合は,統合トレースログを確認し,内容に従って対処してください。
-
ユニット詳細定義の[実行エージェント]に,解決できないホスト名を設定している実行エージェントが指定されているようなユニットを指定して定義内容の事前チェックを実施すると,定義内容の事前チェック結果格納ファイル出力までの時間が長くなります。
-
ジョブネットコネクタおよび接続先のジョブネットの定義内容を事前チェックする場合は,ジョブネットコネクタを定義内容の事前チェックの対象に指定して実行してください。
-
マクロ変数名を指定した場合は,チェックされません。
-
UNIXジョブの-Dオプション(ジョブ詳細定義)および-Aオプション(実行ファイル権限)のチェックは,ユーザーマッピングのチェック結果が正常であることが前提です。ユーザーマッピングのチェックがエラーになると,ジョブ実行ユーザーがスーパーユーザー権限を持つOSユーザー(rootユーザー)であると仮定して,ジョブ詳細定義および実行ファイル権限のチェックが実施されます。このため,ユーザーマッピングのチェックがエラーとなった場合,ジョブ実行OSユーザーがrootユーザー以外だと,正しくチェックできません。ジョブ実行OSユーザーがrootユーザー以外の場合,ユーザーマッピングのエラー原因を取り除いてから,ジョブ詳細定義または実行ファイル権限のチェックを再実行する必要があります。
-
チェック対象のジョブの実行先ホスト名(エージェントホスト名)にはエイリアスホスト名を使用しないでください。エイリアスホスト名を使用するとチェック結果が正しく出力されない場合があります。
戻り値
0 |
正常終了。 |
0以外の値 |
異常終了。 |
使用例
次の条件で,定義内容の事前チェックを行います。
-
登録ユーザー名:USER1
-
/GROUP1/NET1配下のすべての未登録のジョブを対象にチェックします。
-
すべてのチェック条件を指定します。
ajschkdef -F AJSROOT1 -s -u USER1 -RLJ /GROUP1/NET1
出力例
使用例に基づき,定義内容の事前チェックを行った結果,/GROUP1/NET1/JOB1でManager側に実行エージェントが登録されていないエラー,/GROUP1/NET1/JOB2で空ジョブ定義エラー,/GROUP1/NET1/JOB3で指定された実行エージェントが許可されていないエラーが検出された場合の出力例を次の図に示します。
出力項目の説明
- (1)CHECKUNIT=ユニット完全名[,ユニット完全名...]
-
定義内容の事前チェックの実行時に指定したユニット名をユニット完全名の形式で出力します。複数指定した場合は,コンマ区切りで複数出力します。
- (2)CHECKSERVICE=スケジューラーサービス名
-
定義内容の事前チェックの実行時に指定したスケジューラーサービス名を出力します。
- (3)CHECKAGTPROFNAME=実行エージェントプロファイル名
-
定義内容の事前チェックの実行時に指定した実行エージェントプロファイル名を出力します。実行エージェントプロファイルが無効になっている場合,実行エージェントプロファイル名は空文字になります。
- (4)CHECKUSER=登録ユーザー名
-
定義内容の事前チェックの実行時に指定した登録ユーザー名を出力します。
- (5)CHECKUNITPROFNAME=ユニット属性プロファイル名
-
定義内容の事前チェックの実行時に使用したユニット属性プロファイル名を出力します。実行ユーザー固定機能を使用していない場合,空文字を出力します。
- (6)CHECKOPT=指定オプション
-
定義内容の事前チェックの実行時に指定したオプション(-O/-M/-C/-P/-H/-D/-U/-A/-R/-L/-T/-N/-J)をコンマ区切りで出力します。
- (7)CHECKSTARTTIME=実行開始日時
-
定義内容の事前チェックの実行日時を「YYYY/MM/DD hh:mm:ss」の形式で出力します。
(8)空行
- (9)チェック結果情報(ユニット名,パス名,エラー区分,エラー詳細)
-
定義内容の事前チェック実行の結果,エラーを検出したユニットについてチェック結果情報をコンマ区切りの一覧形式で出力します。
- ユニット名
-
チェックの結果エラーが検出されたユニットのユニット名を出力します。
- パス名
-
チェックの結果エラーが検出されたユニットのパス名(親ユニット完全名)を出力します。
- エラー区分
-
チェックの結果エラーが検出されたエラーの区分を出力します。
出力するエラー区分については次の表を参照してください。
- エラー詳細
-
チェックの結果エラーが検出されたエラー区分ごとのエラー内容の詳細を出力します。
出力するエラー詳細については,次の表を参照してください。
開始時に指定した
チェック項目
エラー区分
(下段は言語種別が英語の場合)
エラー詳細
実行順序
実行順序がループして関連定義されています
-
08-10以前
(なし)
-
08-50以降
unit=ユニット名※1
The execution order is looped in the relation definitions.
判定ジョブに対して従属ジョブが定義されていません
-
08-10以前
(なし)
-
08-50以降
unit=ユニット名;ユニット名;...※2
A dependent job has not been defined for a judgment job.
従属ジョブに条件接続以外の関連定義がされています
-
08-10以前
(なし)
-
08-50以降
unit=ユニット名;ユニット名;...※3
A relation definition other than a conditional connection has been defined for a dependant job.
実行エージェント名
Agent側からManagerのホスト名が解決できません
MANAGER_HOST=
マネージャーホスト名
The host name of the Manager cannot be resolved from the Agent side.
Agent側からManagerホストのIPアドレス解決ができません※4
MANAGER_IP=
マネージャーホストのIPアドレス
The host IP address of the Manager cannot be resolved from the Agent side.※4
Manager側で実行エージェントが登録されていません
EXEC_AGENT=
実行エージェント名
The exec-agent has not been registered on the Manager side.
Manager側から実行ホスト名が解決できません
AGENT_HOST=
実行ホスト名
The target host name cannot be resolved from the Manager side.
ジョブネット詳細定義
接続範囲の指定が接続先のジョブネットと異なります
unit=接続先のジョブネット名※5
The specified connection range is different from the jobnet for the connection destination.
指定したホストに接続できません
nchn=接続ホスト名
Cannot connect to the specified host.
指定したスケジューラーサービスは存在しません
ncsv=接続サービス名
Specified Scheduler service not exist.
接続先のジョブネットが指定されていません
(なし)
Jobnet name for the connection destination is not specified.
接続先のジョブネットの指定が不正です
ncr=接続先のジョブネット名
The specification of jobnet for the connection destination is not collect.
接続先のジョブネットが実行順序制御する設定になっていません
unit=接続先のジョブネット名※5
The jobnet for the connection destination is not configured for controlling the execution order.
接続先のジョブネットに指定した接続ホスト名で接続できません
unit=接続先のジョブネット名※5
Cannot connect with the connection host name specified in the jobnet for the connection destination.
接続先のジョブネットに指定した接続サービス名が誤っています
unit=接続先のジョブネット名※5
The connection service name specified in the jobnet for the connection destination is incorrect.
接続先のジョブネットに指定したジョブネットコネクタ名が誤っています
unit=接続先のジョブネット名※5
The jobnet connector name specified at jobnet for the connection destination is wrong.
指定した待ち合わせ対象ユニットが存在しません
unit=待ち合わせ対象ユニット名
Specified unit whose end is being waited for does not exist.
待ち合わせ対象ユニットの指定が不正です
unit=待ち合わせ対象ユニット名
The specification of unit whose end is being waited for is not collect.
ジョブ詳細定義
指定したファイル・ディレクトリは存在しません
sc=スクリプトファイル名(実行ファイル名)
ev=環境変数ファイル名
wkp=作業用パス名
si=標準入力ファイル名
so=標準出力ファイル名
se=標準エラー出力ファイル名
ts1=転送元ファイル名
td1=転送先ファイル名
ts2=転送元ファイル名
td2=転送先ファイル名
ts3=転送元ファイル名
td3=転送先ファイル名
ts4=転送元ファイル名
td4=転送先ファイル名
The specified file or directory does not exist.
指定したファイル・ディレクトリに対する権限がありません
sc=スクリプトファイル名(実行ファイル名)
ev=環境変数ファイル名
wkp=作業用パス名
si=標準入力ファイル名
so=標準出力ファイル名
se=標準エラー出力ファイル名
ts1=転送元ファイル名
td1=転送先ファイル名
ts2=転送元ファイル名
td2=転送先ファイル名
ts3=転送元ファイル名
td3=転送先ファイル名
ts4=転送元ファイル名
td4=転送先ファイル名
You do not have permission to access the specified file or directory.
プラットフォーム種別の指定が不正です
pfm=プラットフォーム種別
The specified platform type is invalid.
イベントIDに指定した値の形式が不正です
evwid=イベントID
The format of the value specified for the event ID is invalid.
検索前時間に範囲外の値を指定しています
evesc=検索前時間
The value specified for "Find event before exec." is outside the valid range.
監視対象ファイル名の形式が不正です
flwf=監視対象ファイル名
The format of the name of the file to be monitored is invalid.
ユーザーマッピング※6
ユーザーマッピングの指定に誤りがあります
JP1_USER=JP1ユーザー名
The specified user mapping is invalid.
実行元ホストのマッピングが不正です
JP1_USER=JP1ユーザー名
Mapping of an execution host is invalid.
OSユーザーのマッピングが不正です
OS_USER=OSユーザー名
Mapping of a OS user is invalid.
指定したユーザーは存在しません
un=実行ユーザー名
The specified user does not exist.
実行ファイル権限
指定したスクリプトファイルまたは実行ファイルに対して実行権限がありません
OS_USER=OSユーザー名
FILE_AUTH=ファイル権限※7
You do not have permission to execute the specified script file or executable file.
空ジョブ定義
スクリプトファイル,実行ファイル,またはイベントIDの指定がありません
(なし)
The script file or executable file or event ID is not specified.
実行エージェント制限
指定した実行エージェントが実行エージェントプロファイルで許可されていません
EXEC_AGENT=実行エージェント名
The specified exec-agent is not enabled on the exec-agent profile.
- 注※1
-
実行順序関係がループして関連定義されているユニット名を一つだけ出力します。
- 注※2
-
従属ユニットが条件接続されていない判定ジョブ名を出力します。
エラー個所が複数ある場合は,「;(セミコロン)」で区切ってすべてのユニット名を出力します。
- 注※3
-
条件接続以外の関連定義がされている従属ユニット名を出力します。
エラー個所が複数ある場合は「;(セミコロン)」で区切ってすべてのユニット名を出力します。
- 注※4
-
エージェントとマネージャー間の通信で,NAT(ネットワークアドレス変換)を使用している場合は,マネージャーホスト名から解決されたIPアドレスがエージェントホストとマネージャーホストで異なるため,このエラーが出力されます。設定に問題がなければエラーを無視してください。
- 注※5
-
[接続範囲]で[別サービス]を指定している場合は,「ホスト名:スケジューラーサービス名:ユニット名」を出力します。
- 注※6
-
ユーザーマッピングのチェックがエラーとなった場合,ジョブ実行ユーザーがスーパーユーザー権限を持つOSユーザー(rootユーザー)であると仮定して-Dオプション(ジョブ詳細定義)および-Aオプション(実行ファイル権限)のチェックが実施されます。このため,ジョブ実行OSユーザーがrootユーザー以外の場合,ユーザーマッピングのエラーを取り除いたあとにジョブ詳細定義または実行ファイル権限のチェックを再実行してください。
- 注※7
-
ファイル権限については,次の表を参照してください。
ファイル権限はaugo形式で出力します(例:0644)。
アクセス権種別
値
値の説明
特別なアクセス権(a)
1000
プログラムコードをスワップに維持
2000
実行時にグループIDを設定
4000
実行時にユーザーIDを設定
同じUIDのユーザー(u)
100
実行
200
書き込み
400
読み込み
同じGIDのグループ(g)
10
実行
20
書き込み
40
読み込み
その他のユーザー(o)
1
実行
2
書き込み
4
読み込み
-
(10)空行
- (11)CHECKENDTIME=実行終了日時
-
定義内容の事前チェックの終了日時を「YYYY/MM/DD hh:mm:ss」の形式で出力します。
- (12)NUMBER OF CHECKUNITS=チェックが完了したユニット数/チェックの対象となったユニット数,NUMBER OF ERRORS=チェックの結果エラーを検出した項目の数
-
定義内容の事前チェックの結果出力サマリーを表示します。サマリーとしては,チェックしたユニット数と,チェックの結果エラーを検出した項目の数が出力されます。エラーを検出しなかった場合は0が出力されます。
-Oまたは-Mオプションを指定した場合,チェックしたユニット数には,ジョブネットおよびジョブネットコネクタがカウントされます。-C,-P,-H,-U,-D,-Aオプションのどれかを指定した場合,ジョブがカウントされます。
チェックの対象となったユニット数とチェックが完了したユニット数が異なる場合は,次の要因が考えられます。
-
チェック中に定義内容の事前チェックプロセスのエラーが発生した
チェック中に定義内容の事前チェックプロセスのエラーが発生した場合は,統合トレースログにエラー内容が出力されます。
-
チェック対象ユニットの接続が接続元制限機能によって拒否された
[接続範囲]に[別サービス]を指定したジョブネットコネクタをチェック対象にして,接続先ホストで接続元制限機能を有効にしている場合,チェックが完了したユニット数は接続を拒否されたユニット数分少なくなります。
JP1/AJS3のマネージャーホストとエージェントホストが異なるマシンの場合は,まずマネージャーホストの統合トレースログを参照してください。マネージャーホストの統合トレースログにエラーが出力されていない場合は,エージェントホストの統合トレースログを参照してください。
-
(1)から(7)の定義内容の事前チェック実行情報と,(11)から(12)の実行終了日時,サマリーは,一回の実行で一回だけ出力されます。(9)のチェック結果情報は,検出されたエラーの個数分出力されます。