起動および停止スクリプトの使用

制約事項: This topic applies only when the Enterprise Server feature is enabled.

ユーザーは、エンタープライズ・サーバーの起動前/起動後または停止前/停止後に追加の操作を行う起動スクリプトや停止スクリプトを提供することができます。起動スクリプトには casstart コマンド、停止スクリプトには casstop コマンドを含める必要があります。これらのコマンドを省略した場合、サーバーは実際には起動または停止されません。

ディレクトリ・サーバーは、下記の環境変数をスクリプトの環境で設定します。ユーザーは、これらの環境変数をスクリプトで使用できます。

ES_HOME サーバー作業ディレクトリ (ログ ファイルの場所)。これは、[Add Server または Edit Server > Properties > General] ページの [System Directory] フィールドから取得されます。
ES_SERVER サーバー名 (casstart または casstop-r スイッチが指定されていない場合、Enterprise Server は、この値をサーバー名として使用することに注意してください)。
MFDS_PORT ディレクトリ サーバーがリスンするポート (通常は 86)。

インストール時または casperm コマンドの実行時にデフォルト以外のサーバー作業ディレクトリの場所を指定した場合、その場所がサーバー構成の [System Directory] フィールドで指定された場所よりも優先されます。この場合、ES_HOME がスタートアップ スクリプトとシャットダウン スクリプトに対して正しく設定されません。そのため、インストール時や casperm コマンドの実行時にデフォルト以外の場所を指定するのではなく、[System Directory] フィールドを使用することをお奨めします。

たとえば、次のように起動スクリプトを使用してサーバーの環境変数を設定できます。
set MY_VARIABLE=value
rem start the enterprise server
echo Enterprise Server %ES_SERVER% is starting
casstart   
#! /bin/ksh
export MY_VARIABLE=value
# start the enterprise server
echo Enterprise Server $ES_SERVER is starting
casstart

ここで、value は環境変数の値です。

サーバーが完全に停止した後にのみ実行されるコマンドが停止スクリプトに含まれている場合、停止スクリプトは、casstop の実行後にそのサーバーの cascd プロセスが終了するまで一時停止する必要があります。これは、サーバーが実際にシャットダウンを完了する前に casstop コマンドが復帰するからです。これを Windows 上で行うには、サード パーティ製のツールが必要です。これを行うには、エンタープライズ サーバーのコンソール デーモンで、cascd プロセスのステータスをクエリします。次に例を示します。

#! /bin/ksh
 # Get the PID of the cascd process
 Cascd=$(ps -ef | awk '$8~/cascd/ && $9~/.rESDEMO/ {print $2}')
 
 # Begin shutdown
 casstop

 # Wait for the cascd process to exit
 while ps -p $Cascd > /dev/null; do sleep 1; done

その後は、ログ ファイルをバックアップするか、サーバーがシャットダウンを完了した後にのみ開始する必要がある他のタスクを実行できます。

サーバーの [Start] または [Stop] ボタンをクリックすると、ユーザーが指定したコマンドを使用して Windows バッチ ファイルが生成され、そのバッチ ファイルが実行されます。

また、サーバー無応答時のスクリプトを作成することもできます。このスクリプトは、サーバー用の実行中の通信プロセスがすべて無応答状態になると実行されます。この無応答状態は、サーバーがハングまたはクラッシュしたことを示しているか、またはディレクトリ サーバーとエンタープライズ サーバーの間におけるネットワーク接続問題の結果として生じている可能性があります。このスクリプトを使用すると、システム管理者にその問題を通知できます。

起動スクリプト、停止スクリプト、およびサーバー無応答時のスクリプトは、[Edit Server > Properties > Scripts] ページで指定します。