1. HOME 2. LOGNAME
14.1.3. 環境変数の設定方法
JobCenterから起動されるジョブに環境変数を設定する場合、以下の「14.1.3.1 単位ジョブスク リプト内での対処」から「14.1.3.5 JobCenter SV側で設定する場合の対処(環境変数「PATH」
のみ)」のいずれかの方法で設定してください。
なお、各設定方法の優先順位は次の通りです。(ジョブネットワークパラメータの「環境変数」設 定を含む)
設定方法 優先順位
「14.1.3.1 単位ジョブスクリプト内での対処」 高
「14.1.3.2 環境変数継承用の単位ジョブでの対処」 ↑
「14.1.3.3 ジョブネットワークパラメータの「環境変数」タブでの対処」 |
「14.1.3.4 JobCenter MG側で設定する場合の対処」 ↓
「14.1.3.5 JobCenter SV側で設定する場合の対処(環境変数「PATH」のみ)」 低
環境変数の設定方法に関する注意事項
■UNIX系とWindows系のSVが混在している場合は、「14.2 Windows版JobCenterの 環境変数」も併せて参照してください。
■環境変数「NQS_PATH_UNIX」「NQS_PATH_WIN」に関する機能は、ジョブ転送 先のSVがR12.5.5以降の場合のみ有効となります。
■「NQSDAEMON_EXPORT」に関する機能は、SVがR12.6以降の場合のみ有効とな ります。
■以下の注意事項はバージョンによって異なります。
R12.8.2まで
▪ 1リクエストあたり使用可能な環境変数の最大数は400個です。制限数を越えて投 入を行った場合、リクエストはエラーとなります。
▪ Windows版SVに投入されるジョブリクエストについては、投入側であらかじめ1 環境変数あたり環境変数名(=も含む)、値あわせて8189byte以内にしておく必要 があります。
R12.8.3以降
▪ ジョブ起動時に渡すことのできる環境変数の合計サイズはOS,PF毎のプロセス生 成時に指定可能な環境変数サイズの制限(execveシステムコール実行時の環境変 数(envp)と引数リスト(argv)の合計サイズでの制限)によります。
▪ 各OS毎の環境変数サイズ目安
HP-UX 2MByte
Solaris 1MByte
Linux 128KByte
AIX 24KByte(デフォルト)
※上記値は各OSのバージョン毎に異なります。利用されるシステムの詳細な環境 変数サイズについては、OSの仕様を確認下さい。
▪ HP-UX版でかつjnwengineのオプション:-A を使用した場合のみ、以下の様な JobCenter独自の環境変数の合計サイズ、個数の制限が発生します。
環境変数の最大個数 2400
環境変数の最大合計サイズ 120KByte
14.1.3.1. 単位ジョブスクリプト内での対処
■単位ジョブのスクリプトで、ジョブの実行に必要な環境変数を直接設定してexportします。
■単位ジョブのスクリプトの先頭に#!/bin/shを記述して、ジョブの実行に必要な環境変数を設定 するためのスクリプトをSV側に別途用意します。単位ジョブスクリプトで用意したスクリプト を.(dot)コマンドでインクルードします。
■単位ジョブのスクリプトの先頭に#!/bin/cshを記述して、ジョブの実行に必要な環境変数をSV 側の.cshrcに記述します。
なお設定した環境変数の有効範囲は、設定した単位ジョブスクリプト内のみとなります。
14.1.3.2. 環境変数継承用の単位ジョブでの対処
■単位ジョブのEXPORTVARの機能を使用して、任意の環境変数を設定できます。この機能を使用 するには、作成した単位ジョブパラメータ設定画面の結果タブにある「変数継承:STDOUT」の 設定が必要となります。
詳細な設定方法や注意事項・制限については<基本操作ガイド>の「4.2.3 単位ジョブ間で情報 を引き継ぐ」を参照してください。
■Windows系MGの場合やUNIX系SVとWindows系のSVが混在した環境の場合等、環境変数 [PATH]がそのまま継承できないときは、環境変数「NQS_PATH_UNIX」にPATHの値を設定す ることで、ジョブ実行時にSVの環境変数「PATH」へ継承できます。
単位ジョブのスクリプトに環境変数「NQS_PATH_UNIX」を定義する例 echo EXPORTVAR
echo NQS_PATH_UNIX=/usr/local/bin:/bin:/usr/bin:/home/jobcenter/bin echo EXPORTVAR
作成した単位ジョブには変数継承以外の記述をしないでください。
変数継承の設定と業務処理を単位ジョブ内に混在すると、業務処理でエラーが発生し た場合に後続の単位ジョブに環境変数が継承されなくなります。
14.1.3.3. ジョブネットワークパラメータの「環境変数」タブでの対処
ジョブネットワークパラメータの「環境変数」タブで、単位ジョブ実行時に付与される環境変数 を設定ができます。
詳細な設定方法や注意事項・制限については<基本操作ガイド>の「3.3.4.2 環境変数」を参照し てください。
14.1.3.4. JobCenter MG側で設定する場合の対処
■UNIX系MG - UNIX系SVの場合
JobCenter MG側がUNIX版である場合には、次のいずれかのシェルスクリプト内で任意の環境 変数を設定し、exportすることで、サーバ単位、またはユーザ単位でジョブ実行時の環境変数 を設定できます。ただし、環境変数「PATH」については、環境変数「NQS_PATH_UNIX」の設 定が必要となります。
1. /etc/profile
2. ~/.nsifrc (ジョブネットワーク投入ユーザのhomeディレクトリに設置) 設定例)
VAR1=VAL1 export VAR1
/etc/profileと.nsifrcに同じ環境変数名で異なる値を設定した場合、~/.nsifrc内の設定が優先 されます。
~/.nsifrcを設定した場合、スケジュール投入による運用を行っているユーザで必ずスケジュー ル定義の変更操作を行い、設定した環境変数をJobCenterに反映させる必要があります。
スケジュール変更の必要がないときは、一時的に仮のスケジュールの作成、保存、削除の操作 を行ってください。
なお、他ユーザのジョブネットワークの実行を行う場合や、他ユーザのスケジュールを設定す る場合は、そのジョブネットワーク所有者に設定された環境変数が使用されます。
/etc/profileや~/.nsifrcを設定したとき、ジョブネットワークの実行時の環境変数はログイン ユーザ自身のスケジュールの変更操作においてのみ設定されますので、必ずジョブネットワー クを所有するユーザでログインし直して、前述のスケジュール変更操作を行ってください。
すでに予定[確定]状態で表示されているトラッカ上については、上記の操作を 行っても~/.nsifrcの設定内容が反映されませんので、[確定]状態のトラッカを一 旦削除する必要があります。
■Windows系MG - UNIX系SVの場合
MG側がWindows系の場合には、MG側のシステム環境変数に値を定義をしておくことで、ジョ ブ実行時の環境変数へ設定できます。
ただし環境変数「PATH」についてはそのまま継承できませんので、環境変数
「NQS_PATH_UNIX」への設定が別途必要となります。
システム環境変数を変更した場合はJobCenterの再起動が必要です。OSによっては OSの再起動が必要になる場合もあります。
14.1.3.5. JobCenter SV側で設定する場合の対処(環境変数「PATH」のみ)
■JobCenter MG側・SV側共にUNIX版である場合には、デーモン設定ファイル(daemon.conf)
にNQSDAEMON_PATH_EXPORT=1を指定することにより、ジョブ実行時のJobCenter MG側の 環境変数「PATH」を引き継げます。
■指定方法については「5.2.3 UNIXの場合」を参照してください。
■本バージョンでは NQSDAEMON_PATH_EXPORT に1以外の値が指定されていても本機能が有効
■なお、本機能を無効にするためには、システム環境変数から「NQSDAEMON_PATH_EXPORT」
を削除してください。