Tomcat 自动部署、回滚(java project)脚本
2016-12-20 22:32
656 查看
Tomcat 自动部署
自动部署java项目,从打包服务器scp项目war到本地,本地启动tomcat#!/bin/bash ############################################################################# # Functions: auto deploy api project, base on tomcat ############################################################################# # ChangeLog: # 2016-12-19 wanghui initial create # ############################################################################# # set some variables Date=`date +%F_%T` DATE=`date +Y-%m-%d` Project=project_name Back_dir=/data/war_back/$Project Wget_dir=/data/wget Old_project=/data/svn #New_project=/data/svn/aniu-project # make sure define folder was created [ -d $Back_dir ] || mkdir -p $Back_dir [ -d $Wget_dir ] || mkdir -p $Wget_dir # backup in use project war to back_dir /bin/mv $Wget_dir/$Project.war $Back_dir/$Project_$Date.war # upload project war from remote server /usr/bin/scp -P54077 root@remote_ip:$Old_project/aniu-api/target/$Project.war $Wget_dir/ for port in 8082 8083 8084 do Tomcat_port=tomcat_$port Project_home=/data/$Tomcat_port Project_dir=$Project_home/webapps # echo "*** First step shutdown $Tomcat_port ***" /bin/bash $Project_home/bin/shutdown.sh tomcat_status=`ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}' | wc -l` if [ $tomcat_status -eq 0 ];then echo "*** $Tomcat_port auto shutdown succeed! ***" else # echo "*******************************************************************************" # echo "*** $Tomcat_port auto shutdown failed,then should force shutdown $Tomcat_port! " ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}' | xargs kill -9 tomcat_pid=`ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}'` /bin/kill -9 tomcat_pid fi /bin/rm -rf $Project_dir/$Project* /bin/cp $Wget_dir/$Project.war $Project_dir/ /bin/bash $Project_home/bin/startup.sh # echo "-----------------------------------------------------------------------------------" tomcat_pid=`ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}'` if [ $tomcat_pid -ne 0 ];then echo "*************************************************" echo "*** $Tomcat_port auto start succeed ! ***" echo "*************************************************" else echo "### $Tomcat_port auto start failed! #####" echo "#########################################" fi done
Tomcat 回滚
回滚最近三次的部署#!/bin/bash ########################################################################## # Script Name: rollback_api.sh # Author: shaon # Email: shaonbean@qq.com # Created Time: Tue 20 Dec 2016 07:56:59 PM CST ######################################################################### # Blog address: http://blog.csdn.net/wh211212 ######################################################################### # Define some variables # Date=`date +%F_%T` DATE=`date +Y-%m-%d` Project=aniuapi Back_dir=/data/war_back/$Project Wget_dir=/data/wget # Move to Back_dir watch which time deploy you want Rollback echo "-----------------------------------------------------" echo " Three last deploy version " ls -ltr $Back_dir | tail -3 > /tmp/version.txt cat /tmp/version.txt read -p "which version war you want rollback: " version # Begin rollback all api echo "-----------------------------------------------------" echo "---- Begin rollback all api! ----" echo "-----------------------------------------------------" # Copy need rollback api.war to wget_dir /bin/cp -f $Back_dir/$version $Wget_dir/$Project.war for port in 8082 8083 8084 do Tomcat_port=tomcat_$port Project_home=/data/$Tomcat_port Project_dir=$Project_home/webapps # echo "*** First step shutdown $Tomcat_port ***" /bin/bash $Project_home/bin/shutdown.sh tomcat_status=`ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}' | wc -l` if [ $tomcat_status -eq 0 ];then echo "*** $Tomcat_port auto shutdown succeed! ***" else # echo "*******************************************************************************" # echo "*** $Tomcat_port auto shutdown failed,then should force shutdown $Tomcat_port! " ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}' | xargs kill -9 tomcat_pid=`ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}'` /bin/kill -9 tomcat_pid fi /bin/rm -rf $Project_dir/$Project* /bin/cp $Wget_dir/$Project.war $Project_dir/ /bin/bash $Project_home/bin/startup.sh # echo "-----------------------------------------------------------------------------------" tomcat_pid=`ps -ef | grep $Tomcat_port | grep -v grep | awk '{print $2}'` if [ $tomcat_pid -ne 0 ];then echo "*****************************************************" echo "*** $Tomcat_port auto rollback succeed ! ***" echo "******************************************************" else echo "### $Tomcat_port auto rollabck failed! #####" echo "#############################################" fi done # rm -f /tmp/version.txt
相关文章推荐
- tomcat一起部署 javaProject 和 j2eeProject
- eclipse,tomcat不能部署项目,提示Project facet Java version 1.8 is not supported
- 不用重启Tomcat服务实现修改Java文件后自动部署
- 使用Maven自动部署Java Web应用到Tomcat服务器
- 使用shell脚本自动部署(发布,重起)maven(java)项目
- 自动化部署java的war应用到tomcat脚本
- SOA自动部署脚本(发布、更新、回滚)
- tomcat多实例自动部署脚本
- 使用Maven自动部署Java Web应用到Tomcat服务器
- shell+ansible+java+tomcat实现web界面自动部署
- tomcat自动部署脚本
- tomcat+jenks环境自动部署脚本
- 使用jekins自动构建部署java maven项目(jdk1.7+tomcat7.0+jenkins2.19.3)
- 使用Maven自动部署Java Web应用到Tomcat服务器
- 使用Maven自动部署Java Web应用到Tomcat服务器
- jenkins+tomcat+ant+java+linux 自动部署项目
- 服务器环境之6:使用maven自动部署到tomcat及编写sh一键部署脚本
- jenkins 自动部署脚本 自动启停tomcat并部署项目
- tomcat 部署java project 类型的 web项目
- linux 持续构建(自动部署) 重启动tomcat或进程的脚本