一聚教程网:一个值得你收藏的教程网站

最新下载

热门教程

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

时间:2022-06-30 16:10:45 编辑:袖梨 来源:一聚教程网

有时,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|grepjava|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"

exportUSER_MEM_ARGS

### END WLS Configration

 

######### Weblogic server start|stop|restart|status

#用于等待进程启停

wait_for_pid ()

{

  try=0

    case"$1"in

      'created')

        whiletest$try -lt 7 ;do

        printf.

        try=`expr$try + 1`

        sleep1

        done           

        WLS_PID=`ps-ef|grepjava|grep${SERVER_NAME}|awk'{print $2}'`           

        if["$WLS_PID"!=""] ;then

          try=''                        

        fi

      ;;

      'removed')

        whiletest$try -lt 35 ;do 

        WLS_PID=`ps-ef|grepjava|grep${SERVER_NAME}|awk'{print $2}'`

        if["${WLS_PID}"=""] ;then

          try=''

        break

        fi

        printf.

        try=`expr$try + 1`

        sleep1

        done

      ;;

    esac

}

#判断操作用户名,不能是root需要使用weblogic用户

if["$USER_NAME"="root"] ;then

  echo"USER_NAME is $USER_NAME! Plz use weblogic!"

  exit1

fi

#domain不能为空

if["$DOMAIN_NAME"=""] ;then

  echo"DOMAIN_NAME is not set! Plz set DOMAIN_NAME!"

  exit1

fi

#service不能为空

if["$SERVER_NAME"=""] ;then

  echo"SERVER_NAME is not set! Plz set SERVER_NAME!"

  exit1

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 !"

    exit1

 else

  echo"$SERVER_NAME is running !"

  exit0

 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 "

  exit1        

  fi

    echo" done ! "

    exit0

 fi

#如果是停止命令,这里不使用这个       

if["$1"="stop"]

then       

echo""

else

#启动命令

printf"Starting $SERVER_NAME "

  ifecho$SERVER_NAME|grep-q dmin ;then       

    nohupsh $DOMAIN_PATH/bin/startWebLogic.sh &

  else       

    nohupsh $DOMAIN_PATH/bin/startManagedWebLogic.sh $SERVER_NAME $ADMIN_URL &

  fi       

  wait_for_pid created

  if[ -n"$try"] ;then

    echo" failed "

    exit1

  else

    echo" done ! "

    exit0

  fi  

fi

echo"To check the log, you may excute:"

echo"tail -100f "

 

热门栏目