liunx weblogic服务启停脚本
#!/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服务启停脚本的更多相关文章
- Linux 程序启停脚本
start.sh #!/bin/sh java -jar ./program.jar & echo $! > /var/run/program.pid stop.sh #!/bin/sh ...
- linux下的启停脚本
linux下的根据项目名称,进行进程的启停脚本 #!/bin/bash JAVA=/usr/bin/java APP_HOME=/opt/program/qa/wechat APP_NAME=prog ...
- case编写的httpd简单启停脚本
case编写的httpd简单启停脚本 #!/bin/bash HTTPD="/etc/init.d/httpd" . /etc/init.d/functions case &quo ...
- Oracle BIEE启停脚本
作为BI的开发人员,经常启停BI服务在所难免,启动的过程又比较长,命令需要不同目录切换,简直烦死人呢, 特意整理了linux中的启动脚本,将以下脚本存成biee.sh,后面的过程就相当简单了, 启动: ...
- nginx启停脚本
安装nginx时,源码包中未带官方的启动脚本,也就无法使用service nginxd start这种启动方式,查了下资料自己写了一个: #!/bin/bash #@version: #@author ...
- Oracle EBS R12的启停脚本
以下脚本用root用户登录执行: 一.DB启停使用EBS提供的脚本ebs_start.shsu - oraprod -c "/d01/oracle/PROD/db/tech_st/10.2. ...
- python启停脚本的编写
先占个位置,打算记录一下启停python 的脚本start.sh,stop.sh的写法. 内容包括启动python脚本的方式,日志的重定向,获取进程id,以及杀掉进程. 参考文章: http://bl ...
- mysql自己编写启停脚本
一.场景 在实际生产环境中要求相对较高的企业对于root权限管控相对比较高,故而很多软件并非安装在root用户下(当然root用户权限也可管理,但正常情况下root权限并不会给业务使用方,而会给一个普 ...
- Memcached启停脚本小结
编写配置文件 编写启动脚本 vim /etc/rc.d/init.d/memcached startesac and $<!= 0); } elsif (open PIDHANDLE," ...
随机推荐
- C# 强命名程序集,防止dll被修改,混淆下发布
未能加载文件或程序集“Jonckers.Service.RedisCacheEngineExtend, Version=1.0.0.0, Culture=neutral, PublicKeyToken ...
- BeanDefinition 实例化过程
BeanDefinition 实例化过程 AbstractBeanFactory#doGetBean AbstractBeanFactory# /** * 根据 bean 名称读取 bean * * ...
- Selenium+Python的开发环境搭建
第一步:安装Python https://www.python.org/ 注意:在cmd窗口中输入python,如果不是内部或者外部命令的需要配置环境变量Path ; 右击桌面我的电脑-->属 ...
- Nodejs 之非阻塞 I/O、异步、事件驱动
1.非阻塞 I/O var fs = require('fs'); console.log('); fs.readFile('mime.json',function (err,data) {//rea ...
- Promise.then链式调用
let a = new Promise((resolve,reject)=>{ resolve(1) }).then((r)=>{console.log(r)}).then(()=> ...
- ProxySQL 常见表配置
ProxySQL 常见表配置 [root@mgr1 opt]# rpm -ivh proxysql-1.4.14-1.1.el6.x86_64.rpm warning: proxysql-1.4.14 ...
- Python学习之GIL&进程池/线程池
8.6 GIL锁** Global interpreter Lock 全局解释器锁 实际就是一把解释器级的互斥锁 In CPython, the global interpreter lock, or ...
- TortoiseGit 中文汉化
TortoiseGit程序以及中文汉化包:https://tortoisegit.org/download/ TortoiseGit程序: 汉化包:
- C语言循环队列
#include<stdio.h> #include<stdlib.h> #include<string.h> //循环队列 typedef struct { in ...
- 深度学习入门者的Python快速教程 - 基础篇
5.1 Python简介 本章将介绍Python的最基本语法,以及一些和深度学习还有计算机视觉最相关的基本使用. 5.1.1 Python简史 Python是一门解释型的高级编程语言,特点是简单明 ...