linux bash腳本監(jiān)控啟動停止weblogic服務的腳本寫法
更新時間:2017年02月19日 14:05:31 作者:qq_35039122
這篇文章主要介紹了linux bash腳本監(jiān)控啟動停止weblogic服務的腳本寫法,非常不錯,具有參考借鑒價值,需要的朋友可以參考下
有時,linux系統(tǒng)需要做HA或者類似的功能,需要配置weblogic腳本來啟動,停止,查看狀態(tài),可以如下方式寫
命令形式:Weblogic server start|stop|restart|status
### BEGIN WLS Configration
DOMAIN_NAME=base_domain
SERVER_NAME=AServer
ADMIN_URL="t3://ip:7001"
DOMAIN_PATH=/Oracle/Middleware/user_projects/domains/${DOMAIN_NAME}
#使用這個命令得到weblogic對應服務進程的進程號
WLS_PID=`ps -ef|grep java|grep =${SERVER_NAME}|awk '{print $2}'`
#USER_NAME=`logname`
USER_NAME=`whoami`
## WLS_MEMORY
USER_MEM_ARGS="-Xms2048m -Xmx3096m -XX:PermSize=256m -XX:MaxPermSize=512m"
export USER_MEM_ARGS
### END WLS Configration
######### Weblogic server start|stop|restart|status
#用于等待進程啟停
wait_for_pid ()
{
try=0
case "$1" in
'created')
while test $try -lt 7 ; do
printf .
try=`expr $try + 1`
sleep 1
done
WLS_PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`
if [ "$WLS_PID" != "" ] ; then
try=''
fi
;;
'removed')
while test $try -lt 35 ; do
WLS_PID=`ps -ef|grep java|grep ${SERVER_NAME}|awk '{print $2}'`
if [ "${WLS_PID}" = "" ] ; then
try=''
break
fi
printf .
try=`expr $try + 1`
sleep 1
done
;;
esac
}
#判斷操作用戶名,不能是root需要使用weblogic用戶
if [ "$USER_NAME" = "root" ] ; then
echo "USER_NAME is $USER_NAME! Plz use weblogic!"
exit 1
fi
#domain不能為空
if [ "$DOMAIN_NAME" = "" ] ; then
echo "DOMAIN_NAME is not set! Plz set DOMAIN_NAME!"
exit 1
fi
#service不能為空
if [ "$SERVER_NAME" = "" ] ; then
echo "SERVER_NAME is not set! Plz set SERVER_NAME!"
exit 1
fi
#url不能為空
if [ "$ADMIN_URL" = "" ] ; then
echo "ADMIN_URL is not set! Using default ADMIN_URL!"
fi
#如果是查看狀態(tài)命令
if [ "$1" = "status" ]
then
if [ "${WLS_PID}" = "" ] ; then
echo "No pid - $SERVER_NAME is not running !"
exit 1
else
echo "$SERVER_NAME is running !"
exit 0
fi
fi
printf "Terminating $SERVER_NAME "
if [ "${WLS_PID}" = "" ] ; then
echo "No pid - $SERVER_NAME is not running !"
else
kill -9 $WLS_PID
wait_for_pid removed
if [ -n "$try" ] ; then
echo " failed "
exit 1
fi
echo " done ! "
exit 0
fi
#如果是停止命令,這里不使用這個
if [ "$1" = "stop" ]
then
echo ""
else
#啟動命令
printf "Starting $SERVER_NAME "
if echo $SERVER_NAME|grep -q dmin ; then
nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
else
nohup sh $DOMAIN_PATH/bin/startManagedWebLogic.sh $SERVER_NAME $ADMIN_URL &
fi
wait_for_pid created
if [ -n "$try" ] ; then
echo " failed "
exit 1
else
echo " done ! "
exit 0
fi
fi
echo "To check the log, you may excute:"
echo "tail -100f "
以上所述是小編給大家介紹的linux bash腳本監(jiān)控啟動停止weblogic服務的腳本寫法,希望對大家有所幫助,如果大家有任何疑問歡迎給我留言,小編會及時回復大家的!
相關(guān)文章
一天一個shell命令 linux好管家-進程-ps命令詳解
這篇文章主要介紹了一天一個shell命令 linux好管家-進程-ps命令詳解 ,需要的朋友可以參考下2016-06-06
淺談ctrl+c,ctrl+d,ctrl+z在linux中的意義
下面小編就為大家?guī)硪黄獪\談ctrl+c,ctrl+d,ctrl+z在linux中的意義。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01
Log4j 日志文件Linux/Mac/Windows通用存放位置設(shè)置方法
下面小編就為大家?guī)硪黄狶og4j 日志文件Linux/Mac/Windows通用存放位置設(shè)置方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2017-01-01

