tomcat自动部署脚本

#!/bin/bash

#defined

now=`date +%Y%m%d%H%M%S`

TOMCAT_HOME="/usr/tomcat7/apache-tomcat-7.0.70/"

TOMCAT_PORT=8080

PROJECT="$1"

BACKUP_DIR="/tomcat_back/$PROJECT/$now"

#param validate;

if [ $# -lt 1 ]; then

echo "you must use like this : ./publish.sh <projectname> [tomcat port] [tomcat home dir]"

exit

fi

if [ "$2" != "" ]; then

TOMCAT_PORT=$2

fi

if [ "$3" != "" ]; then

TOMCAT_HOME="$3"

fi

#shutdown tomcat

"$TOMCAT_HOME"/bin/shutdown.sh

echo "tomcat shutdown"

#check tomcat process

# tomcat_pid=`/usr/sbin/lsof -n -P -t -i :$TOMCAT_PORT`

tomcat_pid=`ps aux|grep "java"|grep "$TOMCAT_HOME"|awk ‘{printf $2}‘`

while [ -n "$tomcat_pid" ]

do

echo "current :" $tomcat_pid

kill -9 $tomcat_pid

echo "scan tomcat pid :" $tomcat_pid

done

#publish project

echo "scan no tomcat pid,$PROJECT publishing"

rm -rf "$TOMCAT_HOME"/webapps/$PROJECT*

cp /save/$PROJECT*.war "$TOMCAT_HOME"/webapps/$PROJECT.war

#bak project and may be create backup dir

if [ ! -d "$BACKUP_DIR" ]; then

mkdir -p "$BACKUP_DIR"

fi

cp "$TOMCAT_HOME"/webapps/$PROJECT.war "$BACKUP_DIR"/"$PROJECT"_`date +%H%M%S`.war

#remove tmp

rm -rf /save/$PROJECT*.war

#start tomcat

"$TOMCAT_HOME"/bin/startup.sh

tail -10f "$TOMCAT_HOME/logs/catalina.out"

echo "#############################################################"

echo "tomcat is starting,please try to access $PROJECT conslone url"

echo "#############################################################"

每一步的注释还算清楚,因为公司项目本身没有采用专业的源码管理工具来管理项目,所以此脚本还要准备好相应的不同平台的配置文件,需要更改默认的项目配置文件,如果有专业的源码管理,那就不用这么啰嗦了,直接使用该脚本就可以部署tomcat的工程了

时间: 2024-08-24 15:27:04

tomcat自动部署脚本的相关文章

rsyslog客户端自动部署脚本,经测试使用正常

自动写的rsyslog客户端自动配置脚本,经测试正常使用 #!/bin/bash #Install & Config the rsyslog #Release 0.3 #date 2016.10.10 #set -x #此脚本为log自动部署脚本 #版本较早系统自带syslog,较新版本自带rsyslog #手动配置如下, #在/etc/rsyslog中追加以下配置,然后重启/etc/init.d/rsyslog restart #  user.* @172.16.16.20 #  authpr

tomcat 自动部署代码

## 系统环境windows server2008## 软件环境tomcat 6 .java1.7.ant1.9.9(编译 java1.7 所需 ant 版本不能高于1.9.9)## 安装 ant 并设置系统环境变量[ant下载地址: http://ant.apache.org/bindownload.cgi](http://ant.apache.org/bindownload.cgi)解压后将 bin 目录设为全局变量 ## 编写 build.xml ```<project basedir=&qu

【原创】jenkins+maven自动部署脚本

jenkins+maven自动部署脚本 2019-02-01 09:34:38 前提,所有主机都做了免密登录操作,相信下面的版本大家应该可以看得明白,我是两台服务器,但只放开了一个服务器的配置,原理很简单: 1.配置一些经常变化的变量 2.进入svn下载下来的源代码空间目录,然后编译 3.远程备份文件(很重要) 4.进入编译后的文件夹target,将文件拷贝至远程生产主机 5.远程重启服务,搞定! #!/bin/bash source /etc/profile #基础环境变量 SERVER_23

自动部署脚本-bash

from here !/bin/bash Check if user is root if [ $(id -u) != "0" ]; then Echo_Red "Error: You must be root to run this script" exit 1 fi . common.sh . basic_soft.sh . config_soft.sh paths config current_path=pwd config_path=$current_pat

Jenkins job的自动部署脚本

Jenkins job的自动部署脚本 需求: 1.从Jenkins的workspace中,将编译好的Java代码部署到D:\zzinfo\UserCenterCoordinator中 2.部署过程中,需要停止相关联的其他进程,如5558_CENTER64.exe | 5559_CENTER64_UserList.exe | APNs.exe 代码如下: #!/usr/local/env python3 # -*- coding:utf-8 -*- # author by Michael Ho #

Linux下SVN+多个Tomcat自动部署

项目中都是jsp开发,所以用到Tomcat. 在我文章中也写过多个Tomcat 的部署,具体可以参考:http://www.cnblogs.com/magmell/p/7045193.html SVN项目目录:/home/svn Tomcat访问目录:/usr/local/tomcat/多个tomcat端/webapps/ROOT 把SVN项目检出到Tomcat各个webapps下的ROOT目录中. cd /usr/local/tomcat/多个tomcat端/webapps/ROOT 检出到当

SOA自动部署脚本(发布、更新、回滚)

脚本功能 使用该脚本完成SOA工程的全量更新.增量更新.全量回滚等操作. 自动部署流程 3. 脚本代码 #!/usr/bin/python #coding=utf-8 import sys,os,re,time,commands,logging work_dir='/data/company/soa' package_dir='/data/package/soa' update_file_path='/data/update/' check_dir=os.path.exists(work_dir

Tomcat自动部署

在tomcat中设置自动部署,可以简化工程的修改操作.有两种方法:       方法1:       打开tomcat_home/conf/server.xml文件,在<host></host>标签内输入以下内容: Xml代码<Context path="/虚拟目录名" docbase="目标目录名" reloadable="true"/> path:表示在浏览器中输入http://localhost:8080

Google Appengine 的自动部署脚本

你是否在appengine上注册了N个应用?每次代码更新都很痛苦?! 在我痛苦了很久后,总算找到一种可以自动部署方式,并写成了脚本,共大家分享 deploy.py #!/usr/bin/env python # -*- coding: utf-8 -*- # 将 {project_name} 替换成你的项目目录 # 将 {password} 替换成你的密码文件 # 将 {email} 替换成你的email import sys import os import urllib2 def deplo