• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

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

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

有时,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服务的脚本写法,希望对大家有所帮助,如果大家有任何疑问欢迎给我留言,小编会及时回复大家的!


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Linux 连续执行多条命令的方法(推荐)发布时间:2022-02-11
下一篇:
Linux下netstat命令的一些常见用法发布时间:2022-02-11
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap