考慮下面的代碼。這使用羣集並搜索每個服務器,但可以根據您的情況進行修改。您可以修改第一個塊,以僅在一個應用程序內查找服務器。
# Get a list of all valid servers
cell=AdminConfig.list('Cell')
cellName=AdminConfig.showAttribute(cell, 'name')
clusterID=AdminConfig.getid('/ServerCluster:<My Cluster>/')
clusterList=AdminConfig.list('ClusterMember', clusterID)
servers=clusterList.split("\n")
# For each server check if its running using completeObjectName
# If it returns null its a valid server name, the server just isn't running
# If it returns info its running.
for serverID in servers:
serverName=AdminConfig.showAttribute(serverID, 'memberName')
nodeName=AdminConfig.showAttribute(serverID, 'nodeName')
aServer=AdminControl.completeObjectName('cell=' + cellName + ',node=' + nodeName + ',name=' + serverName + ',type=Server,*')
if (aServer != ""):
aState=AdminControl.getAttribute(aServer, 'state')
else:
aState="STOPPED"
# Since this server is not running write code here to start it.
print "Server", serverName, "is in a", aSt
是否使用WAS ND(在小區內的多個服務器,可能與集羣)或剛BASE/EXPRESS?對於BASE/EXPRESS,您可以簡單地跳過查詢中的'process'屬性。如果它是ND,那麼答案不會那麼簡單。 –
我在單元中使用WAS ND與多個服務器,但沒有集羣。謝謝 –