溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

linux中如何實現(xiàn)bash腳本監(jiān)控啟動停止weblogic服務(wù)

發(fā)布時間:2021-07-15 10:12:35 來源:億速云 閱讀:172 作者:小新 欄目:開發(fā)技術(shù)

這篇文章給大家分享的是有關(guān)linux中如何實現(xiàn)bash腳本監(jiān)控啟動停止weblogic服務(wù)的內(nèi)容。小編覺得挺實用的,因此分享給大家做個參考,一起跟隨小編過來看看吧。

有時,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對應(yīng)服務(wù)進(jìn)程的進(jìn)程號
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
#用于等待進(jìn)程啟停
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 "

感謝各位的閱讀!關(guān)于“l(fā)inux中如何實現(xiàn)bash腳本監(jiān)控啟動停止weblogic服務(wù)”這篇文章就分享到這里了,希望以上內(nèi)容可以對大家有一定的幫助,讓大家可以學(xué)到更多知識,如果覺得文章不錯,可以把它分享出去讓更多的人看到吧!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報,并提供相關(guān)證據(jù),一經(jīng)查實,將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI