コマンドラインからWAS7を起動、停止、再起動するプロセスを自動化するスクリプトを作成しました。ステージングサーバーの1つでは何も自動的に開始されないため、デプロイメントマネージャー、ノードエージェント、アプリサーバー、Webサーバーのすべてを開始する必要があります。私が書いたスクリプトはかなりうまくいくようです。
私の同僚は、コマンドの構造を変えることを勧めました。そうする正当で正当な理由があるかどうか私は思っています。
まず、私の変数:
WAS_HOME="/opt/IBM/WebSphere/AppServer"
WAS_PROFILE_NAME="AppSrv01"
WAS_APP_SERVER="server1"
WAS_WEB_SERVER="webserver1"
start
コマンドの使い方:
"${WAS_HOME}/bin/startManager.sh"
"${WAS_HOME}/bin/startNode.sh" -profileName $WAS_PROFILE_NAME
"${WAS_HOME}/bin/startServer.sh" -profileName $WAS_PROFILE_NAME $WAS_APP_SERVER
"${WAS_HOME}/bin/startServer.sh" -profileName $WAS_PROFILE_NAME $WAS_WEB_SERVER
代わりに、次のようにする必要があると言われました。
WAS_DMGR="Dmgr01" # Added variable
"${WAS_HOME}/profiles/${WAS_PROFILE_NAME}/bin/startNode.sh"
"${WAS_HOME}/profiles/${WAS_DMGR}/bin/startManager.sh"
"${WAS_HOME}/profiles/${WAS_PROFILE_NAME}/bin/startServer.sh" $WAS_APP_SERVER
"${WAS_HOME}/profiles/${WAS_PROFILE_NAME}/bin/startServer.sh" $WAS_WEB_SERVER
WebSphereのすべてを起動する2番目の方法は、最初の元の方法よりも良いですか、それとも正しいですか?
同じマシンで2つのプロファイルを実行するため、これは設定されているデフォルトのプロファイルに依存します。 Dmgr01がデフォルトであるため、最初のstartManager呼び出しは正常に機能します。サーバースクリプトはプロファイル名を設定するため、同様に正しく機能します。
最初の方法は2番目の方法と同じくらい良いと思います。
Profile\binのstart * -scriptsのコードを見ると、基本的にいくつかの変数を設定してからAppServer\binスクリプトを呼び出しています。