ユーザーは、エンタープライズ・サーバーの起動前/起動後または停止前/停止後に追加の操作を行う起動スクリプトや停止スクリプトを提供することができます。起動スクリプトには casstart コマンド、停止スクリプトには casstop コマンドを含める必要があります。これらのコマンドを省略した場合、サーバーは実際には起動または停止されません。
ディレクトリ・サーバーは、下記の環境変数をスクリプトの環境で設定します。ユーザーは、これらの環境変数をスクリプトで使用できます。
インストール時または 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] ページで指定します。