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

UNIX 版 JobCenter の環境変数

ドキュメント内 JobCenter (ページ 128-133)

13. ジョブ実行時の環境変数の取り扱い

13.1 UNIX 版 JobCenter の環境変数

13.1.1 JobCenter MG側の環境変数 13.1.2 JobCenter SV側の環境変数 13.1.3 環境変数の設定方法

13.1.4 Linux版JobCenterの環境変数注意事項

13.1.1 JobCenter MG 側の環境変数

UNIX 版の JobCenter からジョブを投入した場合、JobCenter MG は、基本的にジョブの転送元の

JobCenter MGの環境変数を転送先のJobCenter SVに引き継ぎません。ただし、次のファイルで設定さ

れた環境変数は転送先に引き継がれます。

• /etc/profile

• ~/.nsifrc

また、JobCenter MG側の基本的な環境変数は、「13.3 ジョブ投入時に独自に設定される環境変数」の JobCenter固有の環境変数に保存され、ジョブ実行時にexportされます。この環境変数を参照することに よって、これらの環境変数の値を取り出すことが可能です。

13. ジョブ実行時の環境変数の取り扱い

13.1.2 JobCenter SV 側の環境変数

UNIX版のJobCenter SVへジョブを投入した場合、JobCenter SVはジョブの実行時、実行先環境で ジョブ実行のためのシェルを起動します。しかし、そのシェルは「ログインシェル」として起動されな いため、".login",".profile"などの設定ファイルを読み込みません。したがって、それらの設定ファイルに 記述された環境変数は、JobCenterで実行されたジョブから参照できません。

ジョブ実行時に必要な環境変数は、以降の説明に従って、別途、設定しなおす必要があります。

ただし、csh 系の場合には".cshrc"の内容が有効になります。これは csh が起動時に".cshrc"を読み込 むというcshの仕様のためです。

(1) ジョブ実行時に必要な環境変数

JobCenter SVは、ジョブの転送先のJobCenter SV側の環境変数のうち、次に挙げるものにつ いては、ジョブの実行時にJobCenter SV側のシステム環境に合わせた値に設定しなおしたうえ でexportします。

• HOME

• LOGNAME

• MAIL

• SHELL

• TZ

• USER

• NQS_SITE

• QUEUENAME

さらに、JobCenterは、JobCenter SV側の環境変数のうち、次に挙げるものについては、ジョ ブ実行時に固定値に再設定した上でexportします。

• PATH

• ENVIRONMENT=BATCH

(2) 環境変数「PATH」の設定値

JobCenterは、ジョブ実行時、環境変数「PATH」の値を次の固定値に設定します。

• HP-UX

一般ユーザのとき "/bin:/usr/bin"

ルートユーザのとき "/bin:/etc:/usr/bin"

• Solaris

一般ユーザのとき "/bin:/usr/bin:/usr/ucb"

ルートユーザのとき "/bin:/etc:/usr/bin"

13. ジョブ実行時の環境変数の取り扱い

• Linux

一般ユーザのとき "/bin:/usr/bin"

ルートユーザのとき "/bin:/etc:/usr/bin"

• AIX

一般ユーザのとき "/bin:/usr/bin"

ルートユーザのとき "/bin:/etc:/usr/bin"

ま た 、 環 境 変 数 「 PATH 」 は 、 デ ー モ ン 設 定 フ ァ イ ル (daemon.conf ) に

NQSDAEMON_PATH_EXPORT=1を指定することにより、ジョブ実行時の環境変数を引き継ぐ

ことができます。指定方法については「5.2 デーモン設定ファイル -5.2.2 UNIXの場合」を参 照してください。

R12.5.x以前のバージョンでは指定方法が異なりますので、対象バージョンのマニュアル

を参照してください。

そのほかに環境変数:PATHのシンタックスが異なっている環境(Windows系とUNIX系が混在)

でも、ジョブ実行時のPATHが引き継がれる様に環境変数:PATHをUNIX系とWindows系とで、

別々に定義可することもできます。

本機能はジョブ転送先のサーバのJobCenterR12.5.5以降でないと有効となりません。

・ ジョブ投入先がUNIXの場合

単位ジョブ部品のEXPORTVARの機能にて、環境変数: NQS_PATH_UNIXにジョブ実行時 のPATHとして引き継ぎたい環境変数:PATHの定義を設定することで可能となります。

・ ジョブ投入先がWindowsの場合

単位ジョブ部品のEXPORTVARの機能にて、環境変数: NQS_PATH_WINにジョブ実行時の PATHとして引き継ぎたい環境変数:PATHの定義を設定することで可能となります。

例)環境変数:NQS_PATH_UNIXを定義(スクリプト例はUNIX)

また、ジョブ投入元のサーバがUNIX系の場合には、/etc/profile、~/.nsifrcのシェルスクリプト内 に環境変数:NQS_PATH_UNIX, NQS_PATH_WINの定義をしておくことでもサーバ単位、又は、

ユーザ単位での指定も可能となります。

echo EXPORTVAR

echo NQS_PATH_UNIX=/usr/local/bin:/bin:/usr/bin:/home/jobcenter/bin echo EXPORTVAR

13. ジョブ実行時の環境変数の取り扱い

13.1.3 環境変数の設定方法

JobCenterから起動されるジョブに環境変数を設定する場合、次のいずれかの方法で設定してください。

(1) ジョブスクリプト内での対処

• ジョブのスクリプトの冒頭で、そのジョブの実行のために必要な環境変数を直接設定して exportします。

• スクリプトの先頭に#!/bin/shを記述し、必要な環境変数を設定するためのスクリプトを別途 用意します。ジョブスクリプトの先頭近辺で、用意したスクリプトを.(dot)コマンドでイン クルードします。

• スクリプトの先頭に#!/bin/csh を記述し、ジョブの実行に必要な環境変数をすべて.cshrcで 設定します。

2JobCenter MG 側で設定する場合の対処

次のシェルスクリプト内で設定し、exportします。

• /etc/profile

• ~/.nsifrc

注意事項

~/.nsifrcを設定した場合、スケジュール投入による運用を行っているユーザでは、必ずスケジュー

ルの変更の操作を行い、設定した環境変数を反映させる必要があります。スケジュール変更の必要 がないときは、一時的な仮のスケジュールの作成、設定、削除の操作を行ってください。

なお、他ユーザのジョブネットワークの実行を行う場合や、他ユーザのスケジュールを設定する場 合は、そのジョブネットワーク所有者に設定された環境変数が使用されます。

/etc/profileや~/.nsifrcを設定したとき、ジョブネットワークの実行時の環境変数は、ログインユー ザ自身のスケジュールの変更操作でのみ設定されるので、必ずジョブネットワークを所有するユー ザでログインし、前述のスケジュールの変更操作を行ってください。

また、すでにトラッカ上で予定[確定]状態で表示されているものについては~/.nsifrcの設定内容 が反映されませんので、トラッカを一旦削除する必要があります。

13. ジョブ実行時の環境変数の取り扱い

13.1.4 LinuxJobCenter の環境変数注意事項

環境変数「TZ」が標準で設定されないLinuxマシンでJobCenterを利用する場合、単位ジョブの環境変 数「TZ」には「JST-9JST」が設定されます。これによって、単位ジョブのタイムゾーンが通常「JST-9」

と異なるものとなり、dateコマンド実行時などに表示される時刻が1時間ずれる場合があります。この場 合は、環境変数「TZ」を設定した環境でJobCenterを使用してください。

• 環境変数「TZ」を設定してJobCenterを再起動する場合の対処方法

① JobCenterを停止する。

/usr/lib/nqs/nqsstopを実行

② nqs起動ファイルを編集する。

/usr/lib/nqs/rc/nqs.shの

「/usr/lib/nqs/nqsdaemon $NQSDAEMON_OPT >/dev/null 2>&1」の直前に、次の2行を記述 する。

TZ=JST–9 export TZ

③ jnwengine起動ファイルを編集する。

/usr/lib/nqs/rc/jnwengine.shの

「/usr/lib/nqs/gui/bin/sclaunchd」の直前に、次の2行を記述する。

TZ=JST–9 export TZ

④ JobCenterを起動する。

/usr/lib/nqs/nqsstartを実行

13. ジョブ実行時の環境変数の取り扱い

ドキュメント内 JobCenter (ページ 128-133)