Linux 单个tomcat多实例部署shell脚本详解

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

#!/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"

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

(0)

相关推荐

  • Linux Shell脚本实现检测tomcat

    Linux Shell脚本检测tomcat并自动重启 后台运行命令 sh xxx.sh & 查看后台任务:jobs 召唤到前台:fg jobs编号 可以删掉while循环的代码放到crontab里面定时执行,可以将脚本直接后台运行, #!/bin/bash while [ true ] do url="http://www.jb51.net/"; httpOK=`curl --connect-timeout 10 -m 60 --head --silent $url | awk

  • Linux 单个tomcat多实例部署shell脚本详解

    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 #!/bin/sh if [ -z $1 ] then echo "\033[31;1mplease input the app which you need restart...\033[

  • nginx常用命令放入shell脚本详解

    1.创建一个文件夹存放nginx的shell脚本 /usr/local/task/nginx 1)重启nginx的shell脚本 vim reload.sh #!/bin/bash nginx -s reload 2)设置nginx用户对html目录下所有文件读写执行权限的shell脚本 vim setfacl.sh #!/bin/bash setfacl -m u:nginx:rwx -R /usr/local/nginx/html/ setfacl -m d:u:nginx:rwx -R /

  • 使用shc工具加密shell脚本详解

    Shc可以用来对shell脚本进行加密,可以将shell脚本转换为一个可执行的二进制文件.经过shc对shell脚本进行加密后,会同时生成两种个新的文件,一个是加密后的可执行的二进制文件(文件名以.x结束),另一个是C语言的原文件(文件名以.x.c结束).   下面就说明一下shc的安装,参数,以及使用示例: 下载安装: (官网下载地址: http://www.datsi.fi.upm.es/~frosal/sources/) 复制代码 代码如下: # wget http://www.datsi

  • Linux 自动分区、格式化、挂载脚本详解

    自动分区.格式化.挂载脚本 功能:自动检测是否有尚未分区的数据盘,格式化新的数据盘并自动挂载 解决了什么问题:一键式检测是否有尚未分区的数据盘,并能对其格式化和自动挂载,省去了复杂的命令和步骤 执行方法:以root身份执行命令 wget http://mirrors.linuxeye.com/scripts/auto_fdisk.sh chmod +x auto_fdisk.sh ./auto_fdisk.sh 结果:出现如下即自动分区.格式化.挂载成功: 脚本内容如下: #!/bin/bash

  • 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

  • Linux下MySQL多实例部署及安装指南

    什么是MySQL多实例 简单地说,Mysql多实例就是在一台服务器上同时开启多个不同的服务端口(3306.3307),同时运行多个Mysql服务进程,这些服务进程通过不同的socket监听不同的服务端口来提供服务. 这些Mysql多实例公用一套Mysql安装程序,使用不同的my.cnf(也可以相同)配置文件,启动程序(也可以相同)和数据文件.在提供服务时,多实例 Mysql在逻辑上看来是各自独立的,它们根据配置文件的对应设定值,获得服务器相应数量的硬件资源. 打个比方,Mysql多实例就相当于房

  • linux下mysql如何自动备份shell脚本

    Linux 服务器上的程序每天都在更新 MySQL 数据库,于是就想起写一个 shell 脚本,结合 crontab,定时备份数据库.其实非常简单,主要就是使用 MySQL 自带的 mysqldump 命令. #!/bin/bash # Shell script to backup MySql database # To backup Nysql databases file to /backup dir and later pick up by your # script. You can s

  • Tomcat多实例部署及配置原理

    1.关闭防火墙,将安装 Tomcat 所需软件包传到/opt目录下 jdk-8u201-linux-x64.rpm apache-tomcat-9.0.16.tar.gz systemctl stop firewalld systemctl disable firewalld setenforce 0 2.安装JDK cd /opt rpm -qpl jdk-8u201-linux-x64.rpm rpm -ivh jdk-8u201-linux-x64.rpm java -version 3.

  • java通过ssh连接服务器执行shell命令详解及实例

    java通过ssh连接服务器执行shell命令详解 java通过ssh连接服务器执行shell命令:JSch 是SSH2的一个纯Java实现.它允许你连接到一个sshd 服务器,使用端口转发,X11转发,文件传输等等.你可以将它的功能集成到你自己的 程序中.同时该项目也提供一个J2ME版本用来在手机上直连SSHD服务器. SSH是Secure Shell的缩写,一种建立在应用层和传输层基础上的安全协议.SSH在连接和传送过程中会加密所有数据,可以用来在不同系统或者服务器之间进行安全连接.SSH提

  • VirtualBox软件下载安装及Linux环境安装部署图文教程详解

    一.VirtualBox软件下载及安装 首先进入VirtualBox官方网站进行软件下载, https://www.virtualbox.org/,目前VirtualBox最新的版本为6.1,详细如下图: 点击"Downloads"按钮,即跳转自"VirtualBox 6.1.4 platform packages"下载页面 选择"Windows hosts",即进行VirtualBox软件下载 双击"VirtualBox-6.1.4-

随机推荐