我写了一个脚本来自动执行从命令行启动,停止和重新启动WAS7的过程。 在我们的一个暂存服务器上没有任何东西会自动启动,所以我必须启动一切:部署pipe理器,节点代理,应用程序服务器和Web服务器。 我写的脚本似乎工作得很好。
我的一位同事build议我以不同的方式组织我的命令。 我想知道这样做是否有一个好的,有效的理由。
首先,我的变数:
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
第二种方式是如何使第一种方法比第一种方法更好或更正确?
这取决于您设置的默认configuration文件,因为您在同一台机器上运行两个configuration文件。 看起来Dmgr01是默认的,所以第一个startManager调用工作正常。 服务器脚本设置configuration文件名,以便它们也能正常工作。
我认为这样做的第一种方法和第二种方法一样好。
如果你看Profile * bin中的start * -scripts的代码,你会发现他们基本上只是设置一些variables,然后调用AppServer \ bin脚本。