问题描述
编辑:问题已解决。但我将其保留在这里,以便其他人将从这里受益。如果还不行,我将删除问题。
我想按顺序自动停止服务器。因此,就此而言,我用python编写了一个脚本,另一个用bash编写了脚本。 WLST脚本
import sys
managedserver = sys.argv[1]
#while True:
# try:
# connect('weblogic','weblogic1','t3://machine-1:7001')
# break
#
# except Exception:
# print("can't connect to AdminServer")
connect('weblogic','welcome1','t3://machine-1:7001')
shutdown(managedserver,ignoreSessions='false',force='false')
#if state(managedserver,name='managedserver') == 'SUSPENDED':
# time.sleep(60)
# shutdown(managedserver,name='managedserver',ignoreSessions='true',force='true')
#elif state(managedserver,name='managedserver') == 'RUNNING':
# shutdown('managedserver',force='true')
#else:
# break
exit()
我用以下脚本调用该脚本。
echo "############################"
echo "# All Servers are STOPPING #"
echo "############################"
# Shutting down servers
WLST_Bin=/data/mw/12213/wls/ohome/oracle_common/common/bin
for managedserver in MOBIL-TEST-S01-2201 MOBIL-TEST-S01-2202
do
echo " Shutting Down ${server} !!! "
sh ${WLST_Bin}/wlst.sh ServerStop.py $managedserver
sleep 600
done
我得到的错误是WLSTException: Error occurred while performing shutdown : No server,cluster,system component or system component configuration with name "managedserver" configured in the domain
这是由于我无法将参数传递给WLST脚本。我在网上搜索,但找不到任何内容。
解决方法
您可以将参数传递给WLST脚本。您应该使用sys.argv[i].
示例:
if len(sys.argv) == 3:
decrypt(sys.argv[1],sys.argv[2])