• 検索結果がありません。

環境変数の設定方法

ドキュメント内 <環境構築ガイド> (ページ 194-197)

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」

を削除してください。

ドキュメント内 <環境構築ガイド> (ページ 194-197)