• 企业400电话
  • 微网小程序
  • AI电话机器人
  • 电商代运营
  • 全 部 栏 目

    企业400电话 网络优化推广 AI电话机器人 呼叫中心 网站建设 商标✡知产 微网小程序 电商运营 彩铃•短信 增值拓展业务
    linux bash脚本监控启动停止weblogic服务的脚本写法

    有时,linux系统需要做HA或者类似的功能,需要配置weblogic脚本来启动,停止,查看状态,可以如下方式写

    命令形式: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
    #如果是查看状态命令       
    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脚本监控启动停止weblogic服务的脚本写法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!

    您可能感兴趣的文章:
    • 详解shell中source、sh、bash、./执行脚本的区别
    • Shell脚本bash: ./t.sh:/bin/bash^M:损坏的解释器: 没有那个文件或目录
    • Bash脚本内置的调试方法技巧
    • 使用Python脚本在Linux下实现部分Bash Shell的教程
    • 在Bash脚本中引入alias的方法
    上一篇:Linux 连续执行多条命令的方法(推荐)
    下一篇:Linux下netstat命令的一些常见用法
  • 相关文章
  • 

    © 2016-2020 巨人网络通讯 版权所有

    《增值电信业务经营许可证》 苏ICP备15040257号-8

    linux bash脚本监控启动停止weblogic服务的脚本写法 linux,bash,脚本,监控,启动,