#!/bin/bash
#sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius
#经测试发现weblogic 启动大概需要完全启动成功35秒左右 停止大概需要1~7秒
#如果多个项目可以把DOMAIN_NAME换成动态的参数进行传递
### BEGIN WLS Configration
DOMAIN_NAME=appadmin
SERVER_NAME=$
#得到服务器的ip
IP=`ifconfig | grep "inet addr" | grep -v 127.0.0.1 | awk '{print $2}' | awk -F: '{print $2}'`
ADMIN_URL="t3://ip:8001"
DOMAIN_PATH=/Oracle/Middleware/user_projects/domains/${DOMAIN_NAME}
#使用这个命令得到weblogic对应服务进程的进程号 (grep -w ${SERVER_NAME}) 可以精确匹配
#WLS_PID=`ps -ef|grep java|grep =${SERVER_NAME}|awk '{print $2}'`
WLS_PID=`ps -ef|grep java|grep -w ${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=
case "$1" in
'created')
while test $try -lt ; do
printf .
try=`expr $try + `
sleep
done
WLS_PID=`ps -ef|grep java|grep -w ${SERVER_NAME}|awk '{print $2}'`
if [ "$WLS_PID" != "" ] ; then
try=''
fi
;;
'removed')
while test $try -lt ; do
WLS_PID=`ps -ef|grep java|grep -w ${SERVER_NAME}|awk '{print $2}'`
if [ "${WLS_PID}" = "" ] ; then
try=''
break
fi
printf .
try=`expr $try + `
sleep
done
;;
esac
}
#判断操作用户名,不能是root需要使用weblogic用户
if [ "$USER_NAME" = "root" ] ; then
echo "USER_NAME is $USER_NAME! Plz use weblogic!"
exit
fi
#domain不能为空
if [ "$DOMAIN_NAME" = "" ] ; then
echo "DOMAIN_NAME is not set! Plz set DOMAIN_NAME!"
exit
fi
#service不能为空
if [ "$SERVER_NAME" = "" ] ; then
echo "SERVER_NAME is not set! Plz set SERVER_NAME!"
exit
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
else
echo "$SERVER_NAME is running !"
exit
fi
fi #如果是停止命令
if [ "$1" = "stop" ]
then
printf "Terminating $SERVER_NAME "
if [ "${WLS_PID}" = "" ] ; then
echo "No pid - $SERVER_NAME is not running !"
else
kill - $WLS_PID
wait_for_pid removed
if [ -n "$try" ] ; then
echo " failed "
exit
fi
echo " done ! "
exit
fi
else
#启动命令
printf "Starting $SERVER_NAME "
if [ "${WLS_PID}" = "" ] ; then
nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
else
kill - $WLS_PID
wait_for_pid removed
if [ -n "$try" ] ; then
echo "restart failed "
exit
fi
nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
fi
#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
else
echo " done ! "
exit
fi
fi
echo "To check the log, you may excute:"
echo "tail -100f "

liunx weblogic服务启停脚本的更多相关文章

  1. Linux 程序启停脚本

    start.sh #!/bin/sh java -jar ./program.jar & echo $! > /var/run/program.pid stop.sh #!/bin/sh ...

  2. linux下的启停脚本

    linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...

  3. case编写的httpd简单启停脚本

    case编写的httpd简单启停脚本 #!/bin/bash HTTPD="/etc/init.d/httpd" . /etc/init.d/functions case &quo ...

  4. Oracle BIEE启停脚本

    作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动: ...

  5. nginx启停脚本

    安装nginx时,源码包中未带官方的启动脚本,也就无法使用service nginxd start这种启动方式,查了下资料自己写了一个: #!/bin/bash #@version: #@author ...

  6. Oracle EBS R12的启停脚本

    以下脚本用root用户登录执行: 一.DB启停使用EBS提供的脚本ebs_start.shsu - oraprod -c "/d01/oracle/PROD/db/tech_st/10.2. ...

  7. python启停脚本的编写

    先占个位置,打算记录一下启停python 的脚本start.sh,stop.sh的写法. 内容包括启动python脚本的方式,日志的重定向,获取进程id,以及杀掉进程. 参考文章: http://bl ...

  8. mysql自己编写启停脚本

    一.场景 在实际生产环境中要求相对较高的企业对于root权限管控相对比较高,故而很多软件并非安装在root用户下(当然root用户权限也可管理,但正常情况下root权限并不会给业务使用方,而会给一个普 ...

  9. Memcached启停脚本小结

    编写配置文件 编写启动脚本 vim /etc/rc.d/init.d/memcached startesac and $<!= 0); } elsif (open PIDHANDLE," ...

随机推荐

  1. surface book2 添加自定义分辨率

    surface book2 13.5英寸  是3:2的屏幕, 因为默认分辨率3000*2000实在是太高了,看字的时候眼睛有点吃不消  即使开启windows的自定义缩放也有点难受,加上windows ...

  2. jquery用formada发送文件到服务器

    var formdata = new FormData(); formdata.append("file", $("#Input")[0].files[0]); ...

  3. Go(05)map介绍

    原文地址: http://www.limerence2017.com/2019/06/11/golang06/ 基本用法 map同样也是引用类型,map在使用前需要通过make进行初始化,否则会报pa ...

  4. zabbix图形刷新延迟解决

    环境: 服务端    ip :192.168.1.204       hostname:www.test.com 服务端    ip :192.168.1.206       hostname:www ...

  5. What is an Activation object in JavaScript ?

    ********************* from Professional JavaScript for Web Development Execution Context And Scope T ...

  6. 前端,后端,UI,UE,UX,区别到底在哪里?

    前端后端,到低区别在哪里? 其实后端是负责更为复杂的数据逻辑,表处理结构,如何实现一连串的数据提交,包括,数据验证,数据影响,数据计算,数据提取,,,等等. 那么前端负责的是什么呢?数据展示,数据验证 ...

  7. (转)Maven的pom.xml文件配置使用

    转载:http://www.cnblogs.com/GarfieldTom/p/3707160.html <project xmlns="http://maven.apache.org ...

  8. 线程间的协作(wait/notify/sleep/yield/join)(五)

    一.线程的状态 Java中线程中状态可分为五种:New(新建状态),Runnable(就绪状态),Running(运行状态),Blocked(阻塞状态),Dead(死亡状态). New:新建状态,当线 ...

  9. k8s-kubernettes-sercet存储

    Secret Secret存在意义 Secret解决了密码.token.密钥等敏感数据的配置问题,而不需要把这些敏感数据暴露到镜像或者Pod Spec中.Secret可以以Volume或者环境变量的方 ...

  10. Java基础(入门Java)

    今天是学习Java的第一天,为了保证在暑假里持续高效的学习,决定每周写一篇博客汇报总结当周进度,以此来督促自己不断的向更深更远的方向迈进.Java刚刚入门,看到的人若觉得某些地方不妥欢迎进行批评指导, ...