我编写了一个脚本,用于自动执行从命令行启动、停止和重新启动 WAS7 的过程。我们的一台临时服务器上没有任何东西可以自动启动,所以我必须启动所有东西:部署管理器、节点代理、应用服务器和 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 一切系统的第二种方法有什么更好或更正确的吗?
答案1
这取决于所设置的默认配置文件,因为您在同一台机器上运行两个配置文件。看来 Dmgr01 是默认配置文件,因此第一个 startManager 调用工作正常。服务器脚本设置了配置文件名称,因此它们也可以正常工作。
我认为第一种方法与第二种方法一样好。
如果您查看 Profile\bin 中 start*-scripts 的代码,您会发现它们基本上只是设置一些变量,然后调用 AppServer\bin 脚本。