7.7.1 フックスクリプト機能の設定と実行
ユーザ作成のスクリプト(フックスクリプト)の設定方法,実行方法と結果について説明します。また,フックスクリプト機能使用時の注意事項についても説明します。なお,JP1製品の環境設定を自動化する場合に作成するフックスクリプトについては,「7.7.2 フックスクリプトを利用したJP1連携の自動設定」を参照してください。
(1) 設定方法
フックスクリプトは,ユーザが任意で作成するファイルです。作成したファイルを定義ディレクトリに格納すると機能が有効になります。
フックスクリプトのファイル名と格納先,記述形式を次の表に示します。
仮想サーバのゲストOS |
ファイル名 (固定) |
ファイルの格納先 |
記述形式 |
---|---|---|---|
Windows |
pre-setup.bat |
<定義ディレクトリ>\hook\ |
バッチ形式 |
Linux |
pre-setup |
<定義ディレクトリ>/hook/ |
シェル形式 |
フックスクリプトでは,実行時に設定される環境変数「VMI_VIRTUALID」を使用できます。環境変数「VMI_VIRTUALID」には,仮想サーバ識別子(管理LANに接続されているIPアドレス)が設定されます。
(2) 実行方法
- 実行できるユーザ
-
Windowsの場合はローカルシステムアカウント,Linuxの場合はスーパーユーザになります。
- 実行するコマンドまたは呼び出し元の機能
-
「7.4.3 管理ユニットに属する仮想サーバへの定義ディレクトリの反映」機能から呼び出されます。
「7.4.3 管理ユニットに属する仮想サーバへの定義ディレクトリの反映」機能を実行して,論理ステータスがinitial(初期)の仮想サーバに対してアプリケーションサーバを構築する時に,フックスクリプトは実行されます。
フックスクリプトの実行タイミングを次の図に示します。
(3) 実行結果
フックスクリプトに設定した処理が実行されます。フックスクリプトの設定内容が実行結果となり,戻り値によって機能の成功または失敗が判断されます。
-
戻り値が0の場合:フックスクリプト機能の実行成功(正常終了)
-
戻り値が0以外の場合:フックスクリプト機能の実行失敗(異常終了)
(4) 注意事項
フックスクリプト機能を使用する場合の注意事項を次に示します。
-
フックスクリプトには,次の処理を記述しないでください。フックスクリプトが実行したまま終了しなくなります。
-
入力応答を求める処理
-
無限ループになる処理
-
-
フックスクリプトの実行に失敗した場合(異常終了した場合)は,その時点で仮想サーバへの定義ディレクトリの反映処理は異常終了します。フックスクリプトの戻り値は,フックスクリプト実行エラーのメッセージに出力されます。
-
フックスクリプトが実行される仮想サーバは,論理ステータスがinitial(初期)のものだけです。「7.4.3 管理ユニットに属する仮想サーバへの定義ディレクトリの反映」機能を実行した仮想サーバに対して,更新した定義ディレクトリを反映し直しても,フックスクリプトは実行されません。
-
すでにフックスクリプトが実行されている仮想サーバに対して,再度,フックスクリプトを実行する場合は,次の手順で実行してください。
-
「7.4.2(2) 管理ユニットからの仮想サーバグループの登録解除」機能で,管理ユニットから仮想サーバグループの登録を解除します。
-
手順1.で登録解除した仮想サーバグループを「7.4.2(1) 管理ユニットへの仮想サーバグループの登録」機能で,再度,管理ユニットに登録します。
-
「7.4.3 管理ユニットに属する仮想サーバへの定義ディレクトリの反映」機能を実行します。
-