`

LINUX下使用Shell自动监控tomcat并且执行重启操作

阅读更多

文件名称为monitor.sh,如果没有执行权限请使用chmod 777 monitor.sh

 

 

#!/bin/sh

 

# func:自动监控tomcat脚本并且执行重启操作

# author:danny

# date:02/20/2013

# DEFINE

 

# 获取tomcat进程ID

TomcatID=$(ps -ef |grep tomcat |grep -w 'dw\/apache-tomcat-7.0.34\/conf'|grep -v 'grep'|awk '{print $2}')

 

# tomcat启动程序(这里注意tomcat实际安装的路径)

StartTomcat=/home/dw/apache-tomcat-7.0.34/bin/startup.sh

#TomcatCache=/usr/apache-tomcat-5.5.23/work

 

# 定义要监控的页面地址

WebUrl=http://haoyayi.eyar.com

 

# 日志输出

GetPageInfo=/dev/null

TomcatMonitorLog=/tmp/TomcatMonitor.log

 

Monitor()

{

  echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"

  if [[ $TomcatID ]];then # 这里判断TOMCAT进程是否存在

    echo "[info]当前tomcat进程ID为:$TomcatID,继续检测页面..."

    # 检测是否启动成功(成功的话页面会返回状态"200")

    TomcatServiceCode=$(curl -s -o $GetPageInfo -m 10 --connect-timeout 10 $WebUrl -w %{http_code})

    if [ $TomcatServiceCode -eq 200 ];then

        echo "[info]页面返回码为$TomcatServiceCode,tomcat启动成功,测试页面正常......"

    else

        echo "[error]tomcat页面出错,请注意......状态码为$TomcatServiceCode,错误日志已输出到$GetPageInfo"

        echo "[error]页面访问出错,开始重启tomcat"

        #kill -9 $TomcatID  # 杀掉原tomcat进程

        #sleep 3

        #rm -rf $TomcatCache # 清理tomcat缓存

        #$StartTomcat

    fi

  else

    echo "[error]tomcat进程不存在!tomcat开始自动重启..."

    echo "[info]$StartTomcat,请稍候......"

    #rm -rf $TomcatCache

    #$StartTomcat

  fi

  echo "------------------------------"

}

Monitor>>$TomcatMonitorLog

 

 

下面是的这段代码是监控tomcat是否运行,如果运行,则将其停止.文件名称本人叫做shutdown.sh

 

 

#!/bin/sh

TomcatID=$(ps -ef |grep hudson-3.01 |grep java | awk ' { print $2 } ')

echo "tomcat的pid为$TomcatID"

Monitor(){

        echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"

        if [[ $TomcatID ]]

# 这里判断TOMCAT进程是否存在

           then

                echo "tomca启动正常"

                kill -9 $TomcatID

                tempTomcatID=$(ps -ef |grep hudson-3.01 |grep java | awk ' { print $2 } ')

                if [[ $tempTomcatID ]]

                        then

                        echo "停止失败"

                else 

                        echo "成功停止"

                fi

        else

            echo "tomcat没有启动"

        fi

}

 

 

Monitor

 

 

 

 

分享到:
评论

相关推荐

    linux系统Tomcat重启shell脚本

    Linux 系统 Tomcat 重启脚本判断日志超过一定大小自动重启,是指在 Linux 操作系统中使用 shell 脚本来监控 Tomcat 服务器的日志文件大小,当日志文件超过一定大小时,自动重启 Tomcat 服务器,以确保服务的稳定运行...

    tomcat自动重启脚本

    linux系统tomcat自动重启脚本:判断监控 tomcat日志catalina.out超过一定限度 自动重启tomcat

    Linux 监控tomcat,自动重启tomcat服务

    本文介绍了如何在Linux环境下编写一个简单的Shell脚本来监控Tomcat服务的状态,并在必要时自动重启服务。通过这种方式可以有效提高系统的稳定性及响应速度。同时,还介绍了相关的命令和工具,以及常见的问题和解决...

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

    最近公司需要在Linux下监控tomcat的服务,一旦tomcat服务存在异常或者宕机,重启tomcat保证服务的正常运行,由于Linux下有Shell脚本可以实现此效果,下面是Linux下shell脚本监控Tomcat的状态并实现自动启动的步骤。...

    linux shell脚本定时清理tomcat日志文件

    Linux shell 脚本是 Linux 操作系统中的一种自动化工具,可以自动执行一些重复性的任务。在本文中,我们使用 shell 脚本来实现 Tomcat 日志文件的切割和删除。 知识点三:cron 机制的应用 cron 机制是 Linux 操作...

    linux tomcat监听自动重启脚本

    为了解决这个问题,我们可以编写一个监控并自动重启Tomcat的Shell脚本来确保服务的高可用性。以下将详细介绍如何创建这样的脚本。 首先,我们需要理解Linux Shell脚本的基本结构。Shell脚本是Linux操作系统中的一种...

    shell脚本远程启动其他服务器的tomcat传输文件自动登录判断启动停止

    在这个场景中,shell脚本被用来组织和执行一系列步骤,包括登录远程服务器、传输文件、监控Tomcat服务的状态以及控制其启动和停止。 接下来是expect工具。Expect是一个用于自动化交互式进程的Tcl扩展,它可以模拟...

    监控网站,网站挂后重启tomcat

    每隔一段时间监控某个网站,如果三次检查失败,则检查tomcat,tomcat失败则重启,若tomcat不失败,不做操作(也可重启,脚本可控)。加到crontab里面就OK。有日志的。

    Tomcat停止与启动shell

    标题 "Tomcat停止与启动shell" 指的是一个用于管理Tomcat服务器的脚本,通常这个`restart.sh`文件是用来自动化Tomcat服务的启动和停止操作的。Tomcat是Apache软件基金会的一个开源项目,是一个广泛使用的Java ...

    linux中设置tomcat自启动

    本文将详细介绍如何在Linux系统下配置Tomcat服务器,使其能够在系统启动时自动运行。 ### 一、以Root用户登录系统 在进行任何系统级别的操作之前,首先需要确保你具有足够的权限。通常,这意味着你需要以root用户...

    Tomcat定时启动与监控

    在Linux环境中,可以通过编写一个Shell脚本来自动化Tomcat的重启过程,再结合`cron`服务来安排定时任务。以下是一个示例的`tomcatstart.sh`脚本: ```bash #!/bin/bash pid=$(ps aux | grep tomcat | grep -v ...

    使用JavaServiceWrapper设置tomcat作为linux服务并且开机自动启动.pdf

    ### 使用Java Service Wrapper设置Tomcat作为Linux服务并实现开机自动启动 #### 一、概述 在部署基于Java的应用服务器时,通常需要将Tomcat配置为系统服务,以便于管理和维护。传统的做法是通过编写shell脚本来...

    web应用执行shell操作服务器资源

    2. **Shell命令**:Shell是Unix/Linux系统中的一个命令行接口,允许用户通过输入命令来执行各种系统操作。通过Web应用执行Shell命令,可以实现如文件管理(创建、移动、删除、重命名)、进程控制(启动、停止、重启...

    tomcat启动shell

    在开发和运维过程中,通过编写Shell脚本可以自动化Tomcat的启动、停止和重启等操作,提高效率。 在描述中提到的博文链接指向了ITEYE博客上的一篇文章,尽管具体内容没有给出,但通常这类文章会详细介绍如何创建和...

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

    总结来说,编写shell脚本管理Tomcat服务可以简化操作,提高效率,同时也可以作为自动化部署和监控的一部分。通过理解这个脚本的工作原理,你可以根据实际需求进行扩展,例如添加更多的自定义功能或集成到更大的系统...

    Linux Shell脚本实现检测tomcat

    在本篇文章中,我们将探讨如何利用Linux Shell脚本来实现对Tomcat应用服务器的检测与自动重启功能。 首先,我们需要了解Shell脚本的基本结构。一个Shell脚本通常以`#!/bin/bash`作为首行,这被称为Shebang,用来...

    Tomcat 6 Linux版.7z

    同时,理解如何使用`systemd`或`init.d`脚本来管理系统服务,实现Tomcat的开机启动和自动重启。 综上所述,这个7z文件包含的Tomcat 6 Linux版提供了一整套在Linux环境中运行Java Web应用的解决方案。从安装、配置到...

    linux与tomcat

    - **日志监控**:查看`logs`目录下的日志文件,监控Tomcat运行状态和错误信息。 - **性能优化**:根据服务器资源调整Tomcat的JVM参数,例如内存分配、线程池大小等。 总结来说,Linux是一套广泛应用的操作系统,...

    shell脚本发布jar包服务,war包服务

    在IT行业中,shell脚本是Linux或Unix系统中用于自动化任务的强大工具,而jar和war文件则是Java应用程序的标准打包格式。这篇博客文章标题为“shell脚本发布jar包服务,war包服务”,意味着它将介绍如何使用shell脚本...

Global site tag (gtag.js) - Google Analytics