`

shell实现自动更新java web项目到Tomcat

 
阅读更多

动弹里求助了下如何自动更新java web项目到Tomcat,经过经验和大佬们的说法,感觉tomcat手动重启更新是必须的了,reloadable = true方式不太可靠,也有过tomcat自己关不掉的时候就不能成功更新,而且项目上线以后,不能随时的更新类到项目了,但是还有很多bug需要修复,基本要求每天更新一次,要选在用户量最少的时间段更新,我去,这不是坑爹嘛,你们都回家休息了,我得早来或晚走更新项目,还不多给工资,所以写了个自动更新的shell脚本。
首先你必须把要更新的文件准备好,我的是放在/home/shop/cc/下。脚本很简单,不喜勿喷

忘说了,在linux下用crontab设置定时任务,脚本在root用户下运行才好使。

#!/bin/sh
#-----------------------------------------------------------------------------
#备份
#-----------------------------------------------------------------------------
file=$(date '+%m-%d')
#备份class文件
echo $(date) 备份/opt/wwwroot/WEB-INF/下的文件
cd /opt/backups/
mkdir $file
cd $file
cp /opt/wwwroot/WEB-INF/ . -r
#-----------------------------------------------------------------------------
#更新
#-----------------------------------------------------------------------------
#停止tomcat
echo $(date) 关闭tomcat
cd /opt/apache-tomcat-6.0.36/bin/
./shutdown.sh
echo tomcat停止运行
#判断Tomcat是否已经停止工作
echo $(date) 判断tomcat是否停止工作,如果没有,则间隔一段时间后强制关闭
int=0
while (($int < 5))
do
 pid=$(ps aux|grep tomcat-|grep -v grep|awk '{print $2}')
 if ["$pid"=""]
then
 echo $pid 不存在
int=5
else
 echo $pid 存在,休息20s
 let"int++"
 sleep 20s
 if ["$int"="4"]
then
 echo $(date) 强制关闭tomcat
 kill -9 $pid
fi
fi
done
#备份log日志
echo $(date) 备份log日志
cd /opt/apache-tomcat-6.0.36/logs/
mv catalina.out catalina-$file.out
#拷贝更新文件
echo $(date) 把更新文件拷贝到运行目录
cd /home/shop/cc/
cp * /opt/wwwroot/ -r
#设置ulimit -n 65000
echo $(date) 设置ulimit
cd /opt/apache-tomcat-6.0.36/bin/
ulimit -n 65000
#启动
echo $(date) 启动tomcat
./startup.sh
#-----------------------------------------------------------------------------
分享到:
评论

相关推荐

    Java项目包 Jenkins+Maven+Gitlab+Tomcat 自动化构建打包、部署

    Java项目的自动化构建、打包和部署是现代开发流程中的重要环节,极大地提高了开发效率...通过这种方式,Java项目可以实现从代码修改到生产环境部署的无缝自动化流程,降低手动操作出错的可能性,提升开发团队的生产力。

    linux的shell脚本快速部署java环境jdk+tomcat+mysql

    这篇内容将详细介绍如何通过Linux的shell脚本来快速部署Java环境,包括JDK、Tomcat和MySQL,这三个是构建Web应用程序的基础组件。 首先,让我们来了解一下JDK(Java Development Kit)。JDK是Java开发和运行的必备...

    自动化部署项目_Tomcat

    本项目“自动化部署项目_Tomcat”专注于使用Shell脚本来实现Tomcat服务器的自动部署流程,这对于我们理解和掌握现代Web应用程序的发布与管理至关重要。 Tomcat是一款广泛应用的开源Java Servlet容器,它能够解析并...

    Linux脚本制作 java web项目安装包

    在Linux环境中,部署Java Web项目通常涉及到一系列自动化步骤,包括环境配置、依赖库安装、应用服务器设置以及项目部署。为了简化这一过程,我们可以利用Linux Shell脚本来制作一个Java Web项目的安装包。以下将详细...

    java执行linux命令,java调用linux脚本文件,java启动停止发布tomcat,servlet ajax文件上传

    java 执行linux命令源码,java调用shell脚本源码,java web发布war到tomcat,servlet文件上传,ajax文件上传。 java web 上传war包、停止、启动、发布tomcat。 命令修改成自己的目录即可使用。

    linux 安装tomcat shell脚本

    针对标题"Linux安装Tomcat Shell脚本",描述中提到的是一站式脚本,涵盖了安装Tomcat、配置JDK以及创建Tomcat用户等多个步骤。接下来,我们将深入探讨这些知识点。 **一、Linux Shell脚本** Shell脚本是Linux系统...

    Tomcat停止与启动shell

    Tomcat是Apache软件基金会的一个开源项目,是一个广泛使用的Java Servlet容器,特别适合于小型到中型的应用服务。下面将详细阐述Tomcat的管理和相关知识点。 1. **Tomcat概述**: Tomcat是一个轻量级的Web服务器,...

    Tomcat 相关操作shell脚本

    在IT行业中,Tomcat是一款广泛应用的开源Java Servlet容器,它实现了Java EE的Web应用程序的Servlet和JSP规范。而将Tomcat相关的操作封装成shell脚本,是Linux系统管理中的常见实践,能够提高工作效率,便于自动化...

    linux系统Tomcat重启shell脚本

    本文将详细介绍 Linux 系统 Tomcat 重启 shell 脚本,包括脚本的设计思路、实现细节和应用场景。 标题解释 Linux 系统 Tomcat 重启 shell 脚本指的是在 Linux 操作系统中使用 shell 脚本来重启 Apache Tomcat ...

    Shell kill tomcat process

    Tomcat是一款广泛使用的开源Java Servlet容器,它用于部署和运行Java Web应用程序。在某些情况下,可能需要通过命令行手动停止或启动Tomcat进程,例如进行系统维护、更新应用或解决性能问题。 在Linux或Unix环境中...

    Linux 下 tomcat war 自动部署脚本

    本文将深入探讨如何在Linux环境下使用Tomcat和shell脚本来实现WAR文件的自动部署,同时覆盖到配置文件的备份与复制。这个主题对于系统管理员和开发人员来说至关重要,因为它能够减少手动操作的繁琐,确保应用程序的...

    java web 技术详解

    随着互联网的飞速发展,Java Web技术也在不断地更新迭代,以适应越来越复杂的业务需求。 #### 二、Java Web基础知识 ##### 2.1 回顾熟知的程序 在讨论Java Web之前,我们需要先了解几种常见的程序类型及其开发...

    基于Java语言的Tomcat8 Web服务器设计源码

    该项目为Tomcat 8 Web服务器的设计源码,采用Java语言编写,并涉及HTML、Shell和CSS等语言。源码文件共计11032个,其中Java源文件4641个,Class文件3998个,Properties文件1085个,JSP文件330个,XML文件268个,HTML...

    tomcat启动shell

    Apache Tomcat是一款开源的Java Servlet容器,主要用于部署和运行Java Web应用程序。在开发和运维过程中,通过编写Shell脚本可以自动化Tomcat的启动、停止和重启等操作,提高效率。 在描述中提到的博文链接指向了...

    tomcat.rar CentOS自动安装tomcat

    总之,这个“tomcat.rar”文件和描述涉及到在CentOS7系统上自动化安装和配置Tomcat的过程,这是一个关键的IT任务,特别是对于那些依赖Java Web应用的企业。通过自动化,可以简化管理,提高效率,同时确保一致性。

    tomcat自动启停脚本

    Tomcat是Apache软件基金会的Jakarta项目的一部分,它实现了Java Servlet和JavaServer Pages(JSP)规范,并且可以作为轻量级应用服务器使用。由于其开源、免费和性能稳定的特点,Tomcat被广泛应用于小型到中型的Web...

    Python实现javaweb项目远端自动化更新部署-内含源码以及设计说明书(可以自己运行复现).zip

    标题中的“Python实现javaweb项目远端自动化更新部署”是指使用Python编程语言来构建一套自动化系统,该系统能够远程地对Java Web应用程序进行更新和部署。这通常涉及到版本控制、构建工具、服务器管理和脚本编写等...

    shell脚本自动配置Linux基础环境,安装jdk,tomcat,mysql

    在这个场景中,我们主要关注的是如何使用shell脚本来自动配置Linux系统,并安装Java的JDK、Apache Tomcat应用服务器以及MySQL数据库。以下将详细介绍这些知识点。 首先,**shell脚本**是Linux/Unix系统中的一种命令...

    web-cli-shell.zip_The Web_cli

    【标题】"Web_CLI_Shell.zip_Web_CLI" 指的是一种将命令行界面(CLI)功能融入到Web环境中的技术实现。这种技术通常用于为Web应用提供类似终端的操作体验,用户可以通过浏览器输入指令执行各种操作,而无需在本地...

Global site tag (gtag.js) - Google Analytics