shell 命令管理tomcat

我们一般在linux 上的生产环境管理tomcat 是使用tomcat 目录下面的几个sh 文件来控制的,有时候tomcat 进程会没有完全结束,然后我们再次启动很容易咋成启动二个tomcat 这里集成一个shell 命令来管理。

# description: Auto-starts tomcat

Dir="/tomcat/"
echo $Dir

RETVAL="0"

# See how we were called.
function start() {
        echo -n "Starting Tomcat: "
    cd $Dir
        ./bin/startup.sh
        echo
}

function stop2() {
        stop
    echo >$Dir/logs/catalina.out
}

function stop() {
    pid=$(ps -ef | grep -v 'grep' | egrep $Dir"bin/bootstrap.jar"| awk '{printf $2 " "}')
    if [ "$pid" != "" ]; then
                echo -n "tomcat ( pid $pid) is running" 

                echo 

                echo -n $"Shutting down Tomcat: "
        cd $Dir
                ./bin/shutdown.sh

        pid=$(ps -ef | grep -v 'grep' | egrep $Dir"bin/bootstrap.jar"| awk '{printf $2 " "}')
        if [ "$pid" != "" ]; then
            echo "kill tomcat process"
            kill -9 "$pid"
        fi
        else
                echo "Tomcat is stopped"
        fi

    status
}

function status()
{
    pid=$(ps -ef | grep -v 'grep' | egrep $Dir"bin/bootstrap.jar"| awk '{printf $2 " "}')
    #echo "$pid"
    if [ "$pid" != "" ]; then
        echo "tomcat is running,pid is $pid"
    else
        echo "tomcat is stopped"
    fi
}

function usage()
{
   echo "Usage: $0 {start|stop|stop2(stop and clear catalina.out)|restart|restart2(clear catalina.out)|reload|status}"
   RETVAL="2"
}

# See how we were called.
RETVAL="0"
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    stop2)
        stop2
        ;;
    restart)
        stop
        start
        ;;
    restart2)
        stop2
        start
        ;;
    reload)
        RETVAL="3"
        ;;

    status)
        status
        ;;
    *)
      usage
      ;;
esac

exit $RETVAL
时间: 2024-09-17 17:44:52

shell 命令管理tomcat的相关文章

学习tomcat之通过shell批量管理多个tomcat

一.业务需求 目前一台服务器上,部署了4个tomcat,也就相当于4个节点.平时在维护业务时,需要我们一个一个tomcat实例进行单独的维护,感觉很不方便,所以就有了这篇文章. 但是为了更方便的管理这4个tomcat,我这边做了两方面的工作,一是把所有的tomcat工作目录都指向另外单独的一个目录下,二是通过shell来启动.关闭和重启tomcat. PS:本次实验的测试OS为centos6.5 64bit,但是shell脚本也可以在ubuntu下使用. 二.修改tomcat工作目录 为了不一个

Linux常用shell命令

本文章记录我在linux系统下常用或有用的系统级命令,包括软硬件查看.修改命令,有CPU.内存.硬盘.网络.系统管理等命令.但本文不打算介绍生僻命令,也不介绍各个linux发行版下的特有命令,且以后会持续更新. 说明,我是在一个Centos 6.4 64位的虚拟机系统进行测试.本文介绍的命令都会在此Centos下运行验证(也有部分命令会在我的suse/ubuntu系统里测试的,会做特明说明),但运行结果就不再列出了. 硬件篇 CPU相关 lscpu                   #查看的是

VxWorks操作系统shell命令与调试方法总结

VxWorks下的调试手段 主要介绍在Tornado集成开发环境下的调试方法和利用支撑定位问题的步骤.思路. 1         Tornado的调试工具 嵌入式实时操作系统VxWorks和集成开发环境Tornado的组成结构如下图1.分为主机和目标机系统. 图1 集成开发环境结构图 在Tornado下调试相关操作在Debug菜单下包括 图2 Debug菜单 简单解释各菜单项的功能 1.1        WindShell 1.1.1         简介 Vxworks的Shell分为两种ho

Python实现Tab自动补全和历史命令管理的方法_python

本文实例讲述了Python实现Tab自动补全和历史命令管理的方法.分享给大家供大家参考.具体分析如下: Python的startup文件,即环境变量 PYTHONSTARTUP 对应的文件 1. 为readline添加tab键自动补全的功能 2. 像Shell一样管理历史命令 代码如下: 复制代码 代码如下: import rlcompleter import readline import atexit import os # http://stackoverflow.com/question

如何在linux上分享你shell命令的输出

如何在linux上分享你shell命令的输出 前段时间我发布了一篇关于shelr.tv这个网站的文章,它提供一个服务允许你从网站上直接分享你的终端记录. 现在shelr.tv这个网站似乎关闭了,然后我四处寻找是否有类似的网站,于是我发现了commands.com. 从它的主页上来看,它的服务和其他网站提供的服务是类似的,因此让我们来测试它. 步骤 1 – 在网站上注册 只需要注册一个新的 用户名/密码,或者直接使用你的github账户快速登录. 步骤 2 – 下载安装monitor程序 Moni

linux shell 命令

linux shell 命令 什么是Shell? Shell 是连接操作系统内核 与 用户 的接口. 终端是shell的表现形式. Linux的内核版本号由三部分组成:主版本号.次版本号.修正号.次版本号有其他含义:奇数为测试版,偶数为稳定版. 常见的linux发行版有 Fedora.Ubuntu等. 什么是Shell编程? Shell 脚本语言加上linux 命令语句就构成了shell程序.优点在于批量处理.不用用户每次手动输入. bash是shell程序解释器的一种.  常用命令 Shell

《Hadoop实战手册》一1.2 使用Hadoop shell命令导入和导出数据到HDFS

1.2 使用Hadoop shell命令导入和导出数据到HDFS HDFS提供了许多shell命令来实现访问文件系统的功能,这些命令都是构建在HDFS FileSystem API之上的.Hadoop自带的shell脚本是通过命令行来执行所有操作的.这个脚本的名称叫做hadoop,通常安装在$HADOOP_BIN目录下,其中$HADOOP_BIN是Hadoopbin文件完整的安装目录,同时有必要将$HADOOP_BIN配置到$PATH环境变量中,这样所有的命令都可以通过hadoop fs -co

Shell脚本切割tomcat的日志文件_linux shell

鉴于在调试logback和log4j的文件切割一直无法成功,随性用shell写个脚本用来切割tomcat下的日志文件(大家如果有在logback或log4j使用文件切割成功的话,可以留下使用方式,先谢谢了) 1:废话少说,直接贴上脚本: #!/bin/sh log_dir=/var/log/tomcat monitor_file=$1 #tomcat目录下的catalina.out文件的绝对路径 file_size=`du $monitor_file | awk '{print $1}'` if

linux shell命令行参数用法详解_linux shell

习惯使用linux命令行来管理linux系统,例如: 复制代码 代码如下: $ date 二 11 23 01:34:58 CST 1999  $ 用户登录时,实际进入了shell,它遵循一定的语法将输入的命令加以解释并传给系统.命令行中输入的第一个字必须是一个命令的名字,第二个字是命令的选项或参数,命令行中的每个字必须由空格或TAB隔开,格式如下:  复制代码 代码如下: $ Command Option Arguments 一,选项和参数  选项是包括一个或多个字母的代码,它前面有一个减号(