如何解决如何将参数从Shell传递到WLST脚本
编辑:问题已解决。但我将其保留在这里,以便其他人将从这里受益。如果还不行,我将删除问题。
我想按顺序自动停止服务器。因此,就此而言,我用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])
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。