一、项目文件为一个 jar 包,无须解压

  • 重启 Tomcat 项目
 #!/bin/bash

 echo "kill hot-jdt"
kill -9 `ps -ef|grep hot-jdt|grep -v grep|awk '{print $2}'`
sleep 3s echo "startup tomcat_admin"
nohup java -jar /usr/local/hot_jdt/hot-jdt.jar > /usr/local/hot_jdt/log/jdt.log 2>&1 &
echo $! > tpid echo "Start Success!"
sleep 1s
  • 更新 Tomcat 项目
 #!/bin/sh
currenttime=`date +%Y%m%d%H%M%S`
echo "End process hot-jdt"
kill -9 `ps -ef|grep hot-jdt|grep -v grep|awk '{print $2}'`
sleep 2s rm -f tpid echo "Copy jar"
cp /usr/local/upload_jdt/hot-jdt.jar /usr/local/hot_jdt/hot-jdt.jar
sleep 2s echo "backgrounp jar"
nohup java -jar /usr/local/hot_jdt/hot-jdt.jar > /usr/local/hot_jdt/log/jdt.log 2>&1 & echo $! > tpid echo Start Success! echo "save hot_jdt jar"
mv /usr/local/upload_jdt/hot-jdt.jar /usr/local/upload_jdt/bak/hot-jdt_$currenttime.jar echo "update is complete!"
sleep 1s

二、Tomcat 项目文件为一个 jar 包,需要解压

  • 重启
 #!/bin/bash
currenttime=`date +%Y%m%d%H%M%S` JAVA_HOME=$JAVA_HOME
PATH=$JAVA_HOME/bin:/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH #/usr/local/tomcat/tomcat_jdt/bin/./shutdown.sh
#/usr/local/tomcat/tomcat_pot/bin/./shutdown.sh
#/usr/local/tomcat/tomcat_bay/bin/./shutdown.sh
#/usr/local/tomcat/tomcat_sass/bin/./shutdown.sh kill -9 `ps -ef|grep tomcat_jdt|grep -v grep|awk '{print $2}'`
sleep 1s
kill -9 `ps -ef|grep tomcat_pot|grep -v grep|awk '{print $2}'`
sleep 1s
kill -9 `ps -ef|grep tomcat_bay|grep -v grep|awk '{print $2}'`
sleep 1s
#kill -9 `ps -ef|grep tomcat_sass|grep -v grep|awk '{print $2}'`
#sleep 1s sleep 3s sleep 3s /usr/local/tomcat/tomcat_jdt/bin/startup.sh
/usr/local/tomcat/tomcat_pot/bin/startup.sh
/usr/local/tomcat/tomcat_bay/bin/startup.sh
#/usr/local/tomcat/tomcat_sass/bin/startup.sh
  • 更新(自动解压 jar 包,不需要通过脚本来解压)
 #!/bin/bash
currenttime=`date +%Y%m%d%H%M%S` JAVA_HOME=$JAVA_HOME
PATH=$JAVA_HOME/bin:/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export PATH
export CLASSPATH #/usr/local/tomcat/tomcat_jdt/bin/./shutdown.sh
#/usr/local/tomcat/tomcat_pot/bin/./shutdown.sh
#/usr/local/tomcat/tomcat_bay/bin/./shutdown.sh
#/usr/local/tomcat/tomcat_sass/bin/./shutdown.sh kill -9 `ps -ef|grep tomcat_jdt|grep -v grep|awk '{print $2}'`
sleep 1s
kill -9 `ps -ef|grep tomcat_pot|grep -v grep|awk '{print $2}'`
sleep 1s
kill -9 `ps -ef|grep tomcat_bay|grep -v grep|awk '{print $2}'`
sleep 1s
#kill -9 `ps -ef|grep tomcat_sass|grep -v grep|awk '{print $2}'`
#sleep 1s sleep 3s rm -rf /usr/local/tomcat/tomcat_jdt/webapps/dt*
rm -rf /usr/local/tomcat/tomcat_pot/webapps/pt*
#rm -rf /usr/local/tomcat/tomcat_sass/webapps/his*
rm -rf /usr/local/tomcat/tomcat_bay/webapps/ob* sleep 1s cp /data/www/war/dt/dt.war /usr/local/tomcat/tomcat_jdt/webapps/dt.war
cp /data/www/war/dt/dt.war /usr/local/tomcat/tomcat_pot/webapps/pt.war
cp /data/www/war/dt/dt.war /usr/local/tomcat/tomcat_bay/webapps/ob.war
#cp /data/www/war/dt/dt.war /usr/local/tomcat/tomcat_sass/webapps/his.war sleep 3s /usr/local/tomcat/tomcat_jdt/bin/startup.sh
/usr/local/tomcat/tomcat_pot/bin/startup.sh
/usr/local/tomcat/tomcat_bay/bin/startup.sh
#/usr/local/tomcat/tomcat_sass/bin/startup.sh mv /data/www/war/dt/dt.war /data/www/war/dt/bak/dt$currenttime.war
  • 更新(需要通过脚本来解压 jar 包)
 #!/bin/bash
currenttime=`date +%Y%m%d%H%M%S` echo "kill tomcat_service"
kill -9 `ps -ef|grep tomcat_service|grep -v grep|awk '{print $2}'`
sleep 3s echo "Delete tomcat_service files"
rm -rf /usr/local/tomcat_service/webapps/ROOT/*
sleep 1s cp /usr/local/upload_war/service_core.war /usr/local/tomcat_service/webapps/ROOT/service_core.war
sleep 3s echo "change dir"
cd /usr/local/tomcat_service/webapps/ROOT
echo "cur dir"
$cd pwd jar -xvf service_core.war
sleep 1s echo "startup tomcat_service"
/usr/local/tomcat_service/bin/startup.sh echo "save tomcat_service war"
mv /usr/local/upload_war/service_core.war /usr/local/upload_war/bak/service_core$currenttime.war
sleep 1s

sh 脚本重启/更新 Tomcat 项目的更多相关文章

  1. 普通用户操作tomcat项目时报:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At least one of these environment variable is needed to run this program

    在使用普通用户更新tomcat项目适合出现这个信息,Neither the JAVA_HOME nor the JRE_HOME environment variable is defined At ...

  2. 脚本:将git项目下载到本地并启动

    大致思路:从git上clone源代码到本地:使用mvn package将源代码达成war/jar包:将打好的包放到tomcatpath/webapps/下:到tomcatpath/bin/下执行res ...

  3. Tomcat项目自动部署脚本

    一般情况下使用的Linux环境都是加固的,root路径只有超级管理员权限才能进入.我们新建一个自己的用户,在/home下会有一个用户目录,传输war包都放在这个目录下,此时不动webapps文件下的内 ...

  4. Shell脚本,自动化发布tomcat项目【转载】

    Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...

  5. Shell脚本,自动化发布tomcat项目【转】

    Shell脚本,自动化发布tomcat项目脚本. 1. vko2c_auto_build_by_scp.sh 文件内容: #---------------------start------------ ...

  6. 写了个关于tomcat项目部署脚本 shell

    #!/bin/bash tomcat_project_path=" /server/tomcat" tomcat_cp_path="/root/tools/apache- ...

  7. Shell 脚本 —— java 代码远程调用shell脚本重启 tomcat

    个人博客网:https://wushaopei.github.io/    (你想要这里多有) 1.创建maven 工程 ​ maven 依赖: <dependency> <grou ...

  8. Jenkins构建完成之后运行脚本可以杀掉TomCat但是起不来的解决方法

    Jenkins构建完成之后运行脚本可以杀掉TomCat但是起不来的解决方法 写了一个重启tomcat的脚本,让jenkins编译.打包.发布时调用.在本地写好重启tomcat的脚本后,本地执行脚本没有 ...

  9. shell实现自动部署两台tomcat项目Ⅱ

    本次分为3个脚本, scp.sh放进第一台机器(负责传输文件), schenglee.sh放进第一台机器(自动部署), schenglee2.sh放进第二台机器(自动部署) 环境 tomcat1: 1 ...

随机推荐

  1. Prism 文档 第二章 初始化Prism应用程序

                                                                           第二章 初始化Prism应用程序 本章将讨论为了使一个Pr ...

  2. TODO 正则表达式

    TODO: break it. \btodo\b.* FIXME: break it. \bfixme\b.* TODO: [Bob] break it. \btodo\s*:\s*\[bob\].*

  3. java maven、springmvc、mybatis 搭建简单Web项目学习笔记

    前言: 空余的时间,学学 Java,没准哪天用的到: 环境搭建折腾了好几天,总算搞顺了,也做个学习笔记,以防后面会忘记: 一.安装文件及介绍 JDK:jdk1.8.0 77 eclipse-maven ...

  4. map和reduce 个数的设定 (Hive优化)经典

    一.    控制hive任务中的map数:  1.    通常情况下,作业会通过input的目录产生一个或者多个map任务. 主要的决定因素有: input的文件总个数,input的文件大小,集群设置 ...

  5. BW里转换简单常用ABAP

    用户查看的是当时的物料折让,那你必然要给物料加个时间,才好区分.总是以现在最新的物料状态查看历史数据会出现问题.当时这个物料是折让的,现在不折让了.数据会有问题.加个DSO.做一个时间记录.读取系统时 ...

  6. Highcharts中更新series的5种方法

    用Highcharts画图时,经常需要更新所画的图表,最常见的就是改变数据以更新图表.在Highcarts中,数据对应的参数是series.这儿就以图1的柱状图为例,列举如何更新series的5种方法 ...

  7. Django - Ajax分页

    目前总结了2种方法: 1. Ajax 分页 尼玛各种google,stackoverflow,搞了好久才总结出这个,之前使用Pagination tag loading的方式不好用,并且不能进行aja ...

  8. 三目运算符与if else的运行效率

    两者的效率比较: 当比较次数较少时,效率一样: 当比较次数较多时,发现ifelse的速度更快,应该是其汇编指令更少的原因.   if else的汇编代码如下:     三目运算符代码如下:

  9. Struts2(2)

    一.分模块开发:单独写模块的配置文件,把配置文件引入到核心配置文件中 Aaction的单独配置文件如下 <?xml version="1.0" encoding=" ...

  10. Windows vs Linux:\r\n 与 \r

    Linux 下文本文件的换行符为 \n Windows 下文本文件的换行符为 \r\n,占两个字节: \r:归位键(CR),ascii 码为 13 \n:换行键(LF),ascii 码位 10 也即单 ...