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

有时,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 在Bash脚本中怎么关闭文件描述符的实例

    Linux 在Bash脚本中怎么关闭文件描述符的实例 在写一个Bash脚本的时候碰到一个问题,这个脚本是用来启动一个程序B的,而这个脚本又被另一个程序A调用,结果发现新启动的B进程中有很多A进 程打开的文件描述符(如Socket).因此决定在脚本中将它们关闭,因为为了简单起见,我在A程序中使用了system()来启动该脚本. 增加了关闭文 件描述符的脚本如下: #!/bin/sh cd $(dirname "$0") || exit 1 exec 3>&- exec 4&

  • script_tool_for_linux.bash: Linux 环境下的 hosts 一键部署脚本

    Linux 环境下的 hosts 一键部署脚本,由 @lstoars 贡献; @fluviusmagnus 提供增强版本. 官方网站:https://github.com/racaljk/hosts/tree/master/hosts_tools #!/bin/sh # # script_tool_for_linux # # Use command: `sudo sh script_tool_for_linux.sh` or # `su -c 'sh script_tool_for_linux.

  • 使用Python脚本在Linux下实现部分Bash Shell的教程

    对于Linux用户来说,命令行的名声相当的高.不像其他操作系统,命令行是一个可怕的命题,但是对于Linux社区中那些经验丰富的大牛,命令行却是最值得推荐鼓励使用的.通常,命令行对比图形用户界面,更能提供更优雅和更高效的解决方案. 命令行伴随着Linux社区的成长,UNIX shells,例如 bash和zsh,已经成长为一个强大的工具,也是UNIX shell的重要组成部分.使用bash和其他类似的shells,可以得到一些很有用的功能,例如,管道,文件名通配符和从文件中读取命令,也就是脚本.

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

    有时,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/

  • linux环境下编写shell脚本实现启动停止tomcat服务的方法

    第一步:以管理员的身份进入控制台,在指定目录下新建一个shell脚本,我这里命名为tomcat.sh 第二步:编写shell脚本 #!/bin/bash tomcat_home=/usr/tomcat/apache-tomcat-8.0.48 SHUTDOWN=$tomcat_home/bin/shutdown.sh STARTTOMCAT=$tomcat_home/bin/startup.sh case $1 in start) echo "启动$tomcat_home" $STAR

  • windows如何使用bat脚本后台启动/停止和重启jar包服务

    前提:windows上安装jdk 1.启动jar脚本 @echo off START "app" javaw -jar app-0.0.1-SNAPSHOT.jar 2.停止jar脚本(如:jar包端口9090) @echo off set port=9090 for /f "tokens=1-5" %%i in ('netstat -ano^|findstr ":%port%"') do ( echo kill the process %%m

  • 使用Shell脚本如何启动/停止Java的jar程序

    本文介绍如何使用Shell脚本来开启和停止jar程序的后台运行,以及如何实现out大文件的切分.另外,补充一些后台运行的小知识. 启动脚本:start_upload.sh #!/bin/sh nohup java -jar UploadSchedule.jar >> /usr/local/tomcat9/webapps/upload-to-oss/nohup_upload.out 2>&1 & echo $! > /var/run/UploadSchedule.pi

  • docker 使用CMD或者ENTRYPOINT命令同时启动多个服务

    需求:django中引入了celery,当启动django项目时,如何将celery服务也启动 利用ENTRYPOINT命令启动 一.编写Dockerfile文件 FROM centos:7 RUN localedef -c -f UTF-8 -i zh_CN zh_CN.utf8 ENV LC_ALL zh_CN.UTF-8 COPY ./hrms $CODE_DIR/hrms/ COPY ./run $CODE_DIR/run/ RUN chmod a+x $CODE_DIR/run/* R

  • Linux 启动停止SpringBoot jar 程序部署Shell 脚本的方法

    废话不多说了,先给大家上代码,具体代码如下所示: #!/bin/bash cd `dirname $0` CUR_SHELL_DIR=`pwd` CUR_SHELL_NAME=`basename ${BASH_SOURCE}` #修改这里jar包名即可 JAR_NAME="xxxxxxxxxxxx.jar" JAR_PATH=$CUR_SHELL_DIR/$JAR_NAME #JAVA_MEM_OPTS=" -server -Xms1024m -Xmx1024m -XX:Pe

  • 如何利用Bash脚本监控Linux的内存使用情况

    前言 目前市场上有许多开源监控工具可用于监控 Linux 系统的性能.当系统达到指定的阈值限制时,它可以发送电子邮件警报.它可以监视 CPU 利用率.内存利用率.交换利用率.磁盘空间利用率等所有内容. 如果你只有很少的系统并且想要监视它们,那么编写一个小的 shell 脚本可以使你的任务变得非常简单. 在本教程中,我们添加了两个 shell 脚本来监视 Linux 系统上的内存利用率.当系统达到给定阈值时,它将给特定电子邮件地址发邮件. 方法-1:用 Linux Bash 脚本监视内存利用率并发

  • Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤

    最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤. 1.编写Shell脚本monitor.sh #!/bin/sh # func:自动监控tomcat脚本并且执行重启操作 # author:EagleHao # date:2018-04-08 # DEFINE # 获取tomcat进程ID(其中[gr

  • Linux系统上实现定时重启Tomcat服务脚本介绍

    目录 一.创建Shell脚本 二.修改文件权限 三.建立定时任务 四.定时任务描述语法 1. 星号(*) 2. 逗号(,) 3. 斜杠(/) 4. 横杠(-) 五.其他 因为使用阿里云部署服务器应用时,Tomcat服务经常由于内存不足出现OutOfMemoryError异常的情况.经常过几天就需要重启一次服务器,更要命的是不知道什么时候会由于内存不足导致无法访问,如果重启不及时严重影响系统体验. 为了解决上述问题,一方面是对tomcat配置做一些优化,网上有很多文章讲解如何优化Tomcat内存设

  • Linux下重启多个 tomcat 服务的脚本(推荐)

    由于修改tomcat的配置文件或手动操作数据库数据后,tomcat的缓存和redis的缓存很严重,需要经常重启tomcat来释放缓存,经常就是手动重启. # 1.查找tomcat的进程ID ps -ef | grep tomcat # 2.根据路径去查找进程ID,然后逐个杀掉(毕竟一台服务器上面是会有多个不同业务的tomcat在运行.) kill -9 [ID] 刚接触这些命令的时候,会经常的手动去敲命令然后练习加深,久而久之,感觉是在浪费时间(有时候会频繁修改数据库内容). 所以就想着,能不能

随机推荐