1. #!/bin/bash
  2. #sh xx.sh start xx项目 例如:sh autoWeblogic.sh start bius
  3. #经测试发现weblogic 启动大概需要完全启动成功35秒左右 停止大概需要1~7秒
  4. #如果多个项目可以把DOMAIN_NAME换成动态的参数进行传递
  5. ### BEGIN WLS Configration
  6. DOMAIN_NAME=appadmin
  7. SERVER_NAME=$
  8. #得到服务器的ip
  9. IP=`ifconfig | grep "inet addr" | grep -v 127.0.0.1 | awk '{print $2}' | awk -F: '{print $2}'`
  10. ADMIN_URL="t3://ip:8001"
  11. DOMAIN_PATH=/Oracle/Middleware/user_projects/domains/${DOMAIN_NAME}
  12. #使用这个命令得到weblogic对应服务进程的进程号 (grep -w ${SERVER_NAME}) 可以精确匹配
  13. #WLS_PID=`ps -ef|grep java|grep =${SERVER_NAME}|awk '{print $2}'`
  14. WLS_PID=`ps -ef|grep java|grep -w ${SERVER_NAME}|awk '{print $2}'`
  15. #USER_NAME=`logname`
  16. USER_NAME=`whoami`
  17. ## WLS_MEMORY
  18. USER_MEM_ARGS="-Xms2048m -Xmx3096m -XX:PermSize=256m -XX:MaxPermSize=512m"
  19. export USER_MEM_ARGS
  20. ### END WLS Configration
  21.  
  22. ######### Weblogic server start|stop|restart|status
  23. #用于等待进程启停
  24. wait_for_pid ()
  25. {
  26. try=
  27. case "$1" in
  28. 'created')
  29. while test $try -lt ; do
  30. printf .
  31. try=`expr $try + `
  32. sleep
  33. done
  34. WLS_PID=`ps -ef|grep java|grep -w ${SERVER_NAME}|awk '{print $2}'`
  35. if [ "$WLS_PID" != "" ] ; then
  36. try=''
  37. fi
  38. ;;
  39. 'removed')
  40. while test $try -lt ; do
  41. WLS_PID=`ps -ef|grep java|grep -w ${SERVER_NAME}|awk '{print $2}'`
  42. if [ "${WLS_PID}" = "" ] ; then
  43. try=''
  44. break
  45. fi
  46. printf .
  47. try=`expr $try + `
  48. sleep
  49. done
  50. ;;
  51. esac
  52. }
  53. #判断操作用户名,不能是root需要使用weblogic用户
  54. if [ "$USER_NAME" = "root" ] ; then
  55. echo "USER_NAME is $USER_NAME! Plz use weblogic!"
  56. exit
  57. fi
  58. #domain不能为空
  59. if [ "$DOMAIN_NAME" = "" ] ; then
  60. echo "DOMAIN_NAME is not set! Plz set DOMAIN_NAME!"
  61. exit
  62. fi
  63. #service不能为空
  64. if [ "$SERVER_NAME" = "" ] ; then
  65. echo "SERVER_NAME is not set! Plz set SERVER_NAME!"
  66. exit
  67. fi
  68. #url不能为空
  69. if [ "$ADMIN_URL" = "" ] ; then
  70. echo "ADMIN_URL is not set! Using default ADMIN_URL!"
  71. fi
  72. #如果是查看状态命令
  73. if [ "$1" = "status" ]
  74. then
  75. if [ "${WLS_PID}" = "" ] ; then
  76. echo "No pid - $SERVER_NAME is not running !"
  77. exit
  78. else
  79. echo "$SERVER_NAME is running !"
  80. exit
  81. fi
  82. fi
  83.  
  84. #如果是停止命令
  85. if [ "$1" = "stop" ]
  86. then
  87. printf "Terminating $SERVER_NAME "
  88. if [ "${WLS_PID}" = "" ] ; then
  89. echo "No pid - $SERVER_NAME is not running !"
  90. else
  91. kill - $WLS_PID
  92. wait_for_pid removed
  93. if [ -n "$try" ] ; then
  94. echo " failed "
  95. exit
  96. fi
  97. echo " done ! "
  98. exit
  99. fi
  100. else
  101. #启动命令
  102. printf "Starting $SERVER_NAME "
  103. if [ "${WLS_PID}" = "" ] ; then
  104. nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
  105. else
  106. kill - $WLS_PID
  107. wait_for_pid removed
  108. if [ -n "$try" ] ; then
  109. echo "restart failed "
  110. exit
  111. fi
  112. nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
  113. fi
  114. #if echo $SERVER_NAME|grep -q dmin ; then
  115. # nohup sh $DOMAIN_PATH/bin/startWebLogic.sh &
  116. # else
  117. # nohup sh $DOMAIN_PATH/bin/startManagedWebLogic.sh $SERVER_NAME $ADMIN_URL &
  118. # fi
  119. wait_for_pid created
  120. if [ -n "$try" ] ; then
  121. echo " failed "
  122. exit
  123. else
  124. echo " done ! "
  125. exit
  126. fi
  127. fi
  128. echo "To check the log, you may excute:"
  129. 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. Spring配置多个数据源,并实现数据源的动态切换转载)

    1.首先在config.properties文件中配置两个数据库连接的基本数据.这个省略了 2.在spring配置文件中配置这两个数据源: 数据源1 <!-- initialSize初始化时建立 ...

  2. Dark 运算符

    1 赋值运算符 ??= b ??= "hello" 若b为空,则把"hello"赋给b . 2 三目运算符 boolean ? expression1 : ex ...

  3. CSS - 设置 select 元素的样式

    注意:option 外面有个框,这个框不同浏览器生成的还不一样,给这个框设置样式的方法也没有找到(有说法是这是浏览器创建的 shadow dom 没法设置).所以要想完全控制还是用列表进行模拟比较好. ...

  4. 基于 Linux Bridge 的 Neutron 多平面网络实现原理

    目录 文章目录 目录 前言 前文列表 多平面网络 Local(本地网络) Flat(扁平网络) 配置 Flat 网络 VLAN 配置 VLAN 网络 VxLAN 配置 VxLAN 网络 GRE 前言 ...

  5. Android的消息机制之ThreadLocal的工作原理

    ThreadLocal 可以把一个对象保存在指定的线程中,对象保存后,只能在指定线程中获取保存的数据,对于其他线程来说则无法获取到数据. 日常开发中 ThreadLocal 使用的地方比较少,但是系统 ...

  6. CTF—攻防练习之HTTP—PUT上传漏洞

    主机:192.168.32.152 靶机:192.168.32.159 中间件PUT漏洞 包括apache,tomcat,IIS等中间件设置支持的HTTP方法(get,post,head,delete ...

  7. 【HANA系列】SAP 【第一篇】EXCEL连接SAP HANA的方法(ODBC)

    公众号:SAP Technical 本文作者:matinal 原文出处:http://www.cnblogs.com/SAPmatinal/ 原文链接:[HANA系列]SAP [第一篇]EXCEL连接 ...

  8. docker 安装 nexus

    docker pull sonatype/nexus3 用docker-compose 部署 创建目录 /usr/local/docker/nexus 在目录下 创建docker-compose.ym ...

  9. Java并发ReadWriteLock接口

    java.util.concurrent.locks.ReadWriteLock接口允许一次读取多个线程,但一次只能写入一个线程. 读锁 - 如果没有线程锁定ReadWriteLock进行写入,则多线 ...

  10. [转帖]linux文件描述符文件/etc/security/limits.conf

    linux文件描述符文件/etc/security/limits.conf https://blog.csdn.net/fanren224/article/details/79971359 需要多学习 ...