引用
步聚
引用
1. 下载tomcat,解压安装
引用
2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下A,B,C目录下
引用
3.新建如下脚本restart_tomcat.sh
引用
4.使用restart_tomcat.sh A/B/C
#!/bin/sh
if [ -z $1 ]
then
echo "\033[31;1mplease input the app which you need restart...\033[0m"
exit 1
fi
base_dir=/Users/huangyunxing/Documents/work/www
if [ ! -d ${base_dir}/$1 ]; then
echo -e "\033[31;1mcan't find the directory [${base_dir}/$1] or the [${base_dir}/$1] is no a directory, please check it...\033[0m"
exit 1
fi
if [ ! -f ${base_dir}/$1/conf/server.xml ]; then
echo -e "\033[31;1mcan't find the file [${base_dir}/$1/conf/server.xml] or the [${base_dir}/$1/conf/server.xml] is not a file, please check it...\033[0m"
exit 1
fi
if [ ! -d ${base_dir}/$1/webapps ]; then
echo -e "\033[31;1mcan't find the directory [${base_dir}/$1/webapps] or the [${base_dir}/$1/webapps] is not a directory, please check it...\033[0m"
exit 1
fi
export CATALINA_BASE=${base_dir}/$1
if [ -f ${CATALINA_BASE}/setenv.sh ];then
. "${CATALINA_BASE}/setenv.sh"
echo "=========load setenv.sh finshed========"
fi
res=`ps aux | grep $1|grep "$JAVA_HOME/bin/java"|egrep -v "grep"|awk '{print $2}'`
if [ "$res" == "" ]; then
echo -e "\033[44;38;1mthe tomcat is not running, begin startup...\033[0m"
else
echo -e '\033[45;35;1mcurrent running pid is' $res',begin to stopping...\033[0m'
kill -9 `ps aux | grep $1|grep "$JAVA_HOME/bin/java"|egrep -v "grep"|awk '{print $2}'` && echo -e '\033[45;35;1mtomcat killed successfully\033[0m'
fi
rm -fr $CATALINA_BASE/work/*
rm -fr $CATALINA_BASE/temp/*
${CATALINA_HOME}/bin/catalina.sh jpda start -config ${base_dir}/$1/conf/server.xml && echo -e "\033[44;32;1mTomcat startup finished...\033[0m"
pid=`ps aux | grep $1|grep "$JAVA_HOME/bin/java"|egrep -v "grep"|awk '{print $2}'`
echo -e "\033[46;38;1m new running pid is ${pid}...\033[0m"
分享到:
相关推荐
Linux 单个tomcat多实例部署shell脚本详解 步骤: 1. 下载tomcat,解压安装 2.将tomcat下的webapps,conf,temp等目录分别拷至根目录www下A,B,C目录下 3.新建如下脚本restart_tomcat.sh 4.使用restart_tomcat.sh A/B/C ...
### Tomcat多部署实现 #### 一、简介 在单个Tomcat实例中部署多个应用程序是一种常见的场景,尤其是在开发环境中,这种做法可以帮助开发者更高效地管理资源和测试环境。本文档将详细介绍如何在一个Tomcat实例中...
但是这种方法只能执行单个命令,对于包含多行命令的脚本,需要将脚本内容拆分成多个命令,逐个执行。 2. **使用Runtime.exec()的变体**:如果需要传递参数或者捕获脚本输出,可以使用`Runtime.exec(String[] ...
`Runtime.exec(String command)`方法用于执行单个命令,而如果需要执行包含多个命令的shell脚本,可以使用`Runtime.exec(String[] cmdArray)`,其中cmdArray是一个包含命令及其参数的字符串数组。 下面是一个简单的...
标题"服务器部署多个tomcat方法"暗示我们将探讨如何在单个服务器上配置和管理多个独立运行的Tomcat实例,以实现应用隔离、负载均衡或服务多样化。这通常涉及到配置、端口管理、目录结构和启动脚本的调整。 首先,...
Shell脚本一键启动和停止jar,包含启动所有,启动指定的jar,停止所有,停止指定的jar,重启所有的jar
它不仅用于执行单个命令,还能通过脚本进行批量处理、文件操作、系统管理、数据处理等。本书可能涵盖了以下几个方面的内容: 1. **Shell基础**:包括Shell的安装与配置,常见Shell的介绍(如Bash、Sh、Csh等),...
Shell脚本编程(scripting)的技巧永远不会过时:它们可以让UNIX充分发挥其真实的潜能。....\r\n 编写Shell脚本所需要的不只是对Shell语言的认识,还必须熟知单个的UNIX程序:你必须知道每个程序为...
### 强力推荐Shell 脚本教程 ppt #### 知识点概览 本教程主要针对Linux系统下的Shell脚本编程,适用于初学者。它不仅涵盖了基础概念,还深入探讨了Shell变量的管理和操作技巧,是理解并掌握Shell脚本编程的一个很好...
本教程将详细讲解如何使用Shell脚本结合SNMP(简单网络管理协议)来实现这一目标。 首先,SNMP是一种广泛应用于网络设备管理的标准协议,它允许管理员收集和配置网络设备的信息。在Linux系统中,我们通常使用`...
Shell脚本编程是运维工程师必备的基本技能之一,它涉及到对操作系统命令的组合、逻辑控制以及自动化任务的执行。Shell脚本使用的是shell解释器来执行,其中最常用的是bash。bash是Linux操作系统上最常见的shell,它...
在信息技术领域,Shell脚本是一种强大的工具,尤其在Linux和Unix系统中,它被广泛用于自动化日常任务、系统管理以及软件部署。本指南将深入探讨Shell脚本的基础和高级概念,帮助你充分利用这一强大语言。 ### 1. ...
Linux中的Shell脚本编程是系统管理和自动化任务的重要工具。Shell是Linux系统中用户与内核进行交互的界面,负责解释用户输入的命令和脚本。 在Shell脚本编程中,常见的Shell种类包括ash、bash(sh)、csh(tcsh)、...
获取单个文件行数 文件:test1.sh 行数:20 方法一 代码如下: awk ‘{print NR}’ test1.sh|tail -n1 如图所示: 方法二 代码如下: awk ‘END{print NR}’ test1.sh 如图所示: 方法三 代码如下: grep -n “” ...
在实际部署中,可能还需要考虑多台Zookeeper服务器的集群配置,确保即使单个Zookeeper节点故障,整个系统仍然能够正常工作。此外,为了增强系统的健壮性,Shell脚本本身也需要设计成容错的,例如,处理网络抖动、...
通过"Shell脚本编程100例",你可以逐步学习并实践这些概念,从简单的脚本如自动备份、日志分析,到复杂的任务如监控、自动化部署等。这将极大提升你在Linux环境下的工作效率,是每个Linux用户必备的技能之一。
WebSphere MQ 多实例部署方案是一种高级别的高可用性(HA)配置,旨在增强消息中间件的稳定性,确保服务在单个实例失败时仍能继续运行。这一特性自MQV7.0.1版本开始引入,是WebSphere MQ产品的一个核心组件。多实例...
Linux Shell脚本是一种强大的工具,用于自动化Linux系统中的任务,其核心在于利用Shell语言编写可执行的脚本文件。Shell脚本的基础在于理解如何创建、运行脚本以及掌握Shell中的变量处理、引号使用和条件测试等关键...
编写Shell脚本所需要的不只是对Shell语言的认识,还必须熟知单个的UNIX程序:你必须知道每个程序为什么会放在那儿,以及如何使用该程序或如何将其与其他程序结合。本书将告诉你这些有关 UNIX主流工具的知识。除此...