#!/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. pandas dataframe类型操作

    用python做数据分析pandas库介绍之DataFrame基本操作   怎样删除list中空字符? 最简单的方法:new_list = [ x for x in li if x != '' ] 这 ...

  2. ddms 和 traceview 的区别?

    ddms 原意是:davik debug monitor service.简单的说 ddms 是一个程序执行查看器,在里面可以看见线程和堆栈等信息,traceView 是程序性能分析器.tracevi ...

  3. java:struts框架(网路静态U盘项目)

    1.网络静态U盘项目: struts.xml: <?xml version="1.0" encoding="UTF-8"?> <!DOCTYP ...

  4. java:LeakFilling(JSP,servlet,Ajax,Json,Path)

    1. request.setAttribute("test", "测试");       request.getRequestDispatcher(" ...

  5. Linux进程:管理和调度

    一:进程管理 进程.轻量级进程和线程 通常定义:进程是程序执行时的一个实例. 这个很像类和实例对象的关系.从内核来看:进程的目的就是担当分配系统资源(CPU,内存等)的实体. 当进程创建时,它几乎和父 ...

  6. Java不可变序列String和可变序列StringBuilder、StringBuffer

    String String变量是不可变的,源码里面用了final修饰. private final char value[]; String str = "Hello"; Syst ...

  7. centos8飞行驾驶舱和docker安装

    零.先解决cenos8的网络(systemctl restart network.service已被废弃) 1.# vim /etc/sysconfig/network-scripts/ifcfg-e ...

  8. USACO4.3 Letter Game【枚举·细节】

    题意 这道题的题目描述让我好一阵蒙,简述一下题意吧: 给定一些字母的价值(如图所示),给出一个字符串(长度在$3$到$7$之间,可以出现重复的字母)和一个单词库.定义一个单词的价值就是它的字母的价值之 ...

  9. Linux 命令 watch 监测命令的运行结果

    watch 命令周期性地执行命令,全屏显示输出命令.watch命令可以监测一个命令的运行结果 命令参数 -n, --interval 设置间隔时间.默认情况下,watch 每隔 2 秒执行一次命令. ...

  10. [转帖]SUN/Oracle JDK还是OpenJDK?

    你安装的是 https://www.cnblogs.com/shoufeng/p/9719995.html 目录 1 如何查看你安装的JDK版本 1.1 要用到的命令行工具 1.2 查看JDK的版本 ...