一、项目文件为一个 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. [Linq] ORM

      orm  对象关系映射框架,主要将关系数据库中的数据 ,映射成应用程序的对象.表为类名,列为类的字段. ADO.NET entity framework   在ADO.NET基础上发展出来的对象关 ...

  2. php开发工程师面必问题

    随着培训机构的增加,越来越多的php从业者流入市场,从而影响了php就业环境.公司对人才的要求越来越高,而技术者本身也要技术过硬,学习越来越多的东西,因为只有这样,你才能跑在别人前面,才不被市场抛弃, ...

  3. webdriver处理鼠标右键菜单栏

    selenium中ActionChains类提供了鼠标操作的常用方法,但对于鼠标右键的菜单栏,无论是send_keys(Keys.ARROW_DOWN)还是send_keys("K" ...

  4. 解决:AttributeError: module 'requests' has no attribute 'get'”

    今天学习Requests库,当用pip install requests安装后,写了一段代码报错:AttributeError: module 'requests' has no attribute ...

  5. 用echarts绘制中国地图

    在项目中运用到图形展示数据太常见了,echarts是一款使用率非常高的插件工具,很多大平台都是使用echarts: 一般运用到条形.折线.扇形图,今天说一说在中国地图上展示各地数据: 首先要准备中国地 ...

  6. Vue中mixin的用法

    在项目中我们经常会遇到多个组件调用同一个方法的问题,为了避免每次都在.vue文件中定义并调用,我们可采用vue的mixin的用法: 具体使用如下: 我们需要在main.js中引入mixins文件夹下的 ...

  7. 【微信小程序+ES6新特性应用】字符串模板:美元符号$+大括号{}变量的写法

    1.字符串模板简介 ES6新特性中的字符串模板允许使用英文字符抑音符号`(提示:这里我们不能将其理解为单引号)来创建字符串,并且在该字符串中可以包含都[美元符号+大括号]包裹的变量 格式:consol ...

  8. /var/adm/wtmp文件太大该怎么办?

    /var/admin/wtmp文件记录所有用户的登陆信息,随着时间会增长到很大,/var/adm/wtmp文件太大该怎么办呢?先来看看/var/adm/wtmp文件的属性:testterm1:/#ls ...

  9. CodeForces - 687D: Dividing Kingdom II (二分图&带权并查集)

    Long time ago, there was a great kingdom and it was being ruled by The Great Arya and Pari The Great ...

  10. 查看.Net Framework版本号

    目录 摘要 .NET Framework 的版本 确定计算机上安装的 .NET Framework 版本 补充几个查看.Net Framework版本号 概要 本文描述如何确定计算机上安装的 Micr ...