有学有练才叫学习:学而不思则罔,思而不学则殆:学而不习,纸上谈兵,习而不进,画地为牢!

tomcat war包(自动升级tomcat应用(war包))shell脚本

服务端 炮渣日记 3周前 (11-17) 19次浏览 已收录 0个评论 扫描二维码
准备:

  1. 提前修改war包里的相关配置,并上传到服务器;
  2. 根据要自动升级的tomcat应用修改或添加脚本相关内容;
  3. tomcat启动脚本如是自己写的,要统一格式命名,如:xxx、xxxTomcat 等;
  4. 拿到生产使用前应在测试环境测试验证。

脚本:

#!/bin/bash

# Program:

#	This script is used for update tomcat.

# History:

# 2019/12/05	Yoson	First release

export tomcat1="/opt/run/tomcat1"

export tomcat2="/opt/run/tomcat2"

txt="tomcat1|tomcat2 warFile"

update() {

 echo "Update..."

 #file=${2##*/}

 #echo file=$file

 dir=${file%.*}

#echo $dir

 tomcat=$(eval echo $$1)

#echo tomcat=$tomcat

 sourceDir=$tomcat/webapps/$dir

#echo sourceDir=$sourceDir

 destinationDir=`dirname $2`

#echo destinationDir=$destinationDir

 sourceFile=${sourceDir}.war

#echo sourceFile=$sourceFile

 /etc/init.d/${1}Tomcat stop 2>/dev/null

 [ -d $sourceDir ] && mv $sourceDir $destinationDir/${dir}.`date -I`

 [ -f $sourceFile ] && rm -f $sourceFile

 cp -f $2 $tomcat/webapps/

 /etc/init.d/${1}Tomcat start

}

# 如果参数有两个,则往下执行,否则提示使用说明

if [ $# = '2' ];then

 export file=${2##*/}

 #echo file=$file

 #echo ${file#*.}

 # 如果参数2存在且为正常的war文件,则往下执行,否则提示文件不存在或不合法

 if [ -f $2 -a "${file#*.}" = "war" ];then

	case "$1" in

	 tomcat1|tomcat2)

		update $1 $2

		;;

	 *)

		echo "Usage: $0 $txt"

		exit 1

	esac

 else

 echo "$0: cannot stat ‘$2’: No such file or the file is not a war file"

 fi

else

 echo "Usage: $0 $txt"

fi
tomcat war包(自动升级tomcat应用(war包))shell脚本
喜欢 (0)
炮渣日记
关于作者:
发表我的评论
取消评论
表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址