由于测试服务器经常需要更新,觉得太麻烦就写了个shell脚本,记录下来仅供大家参考
#!/bin/bash
#------自动部署多个tomcat项目脚本------
#1.删除部署目录下已存在的项目
#2.解压war包到对应目录下
#3.重新启动tomcat服务器
#--------------------------------------
home_dir=/home/t0mcat
#tomcat目录
soa_tomcat_path=/opt/software/apache-tomcat-7.0.64_SOA
#部署目录
soa_deployment_path=/opt/software/web/dev/yiweinet-soa
#war包名称
soa_war=business-soa.war
mer_tomcat_path=/opt/software/apache-tomcat-7.0.64_MERCHANT
mer_deployment_path=/opt/software/web/dev/business-merchant
mer_war=business-merchant.war
#get war and return path
findAllWar(){
cd $home_dir
v_war_file_list=$(find -name "*.war")
echo "war list:"
ls $v_war_file_list
}
process(){
for i in $(findAllWar)
do
v_file_path=$i
#echo $v_file_path
v_file_name=${v_file_path##*/}
echo $v_file_name
if [ $v_file_name = $soa_war ]
then
operTomcat $soa_war $soa_deployment_path $soa_tomcat_path
fi
if [ $v_file_name = $mer_war ]
then
operTomcat $mer_war $mer_deployment_path $mer_tomcat_path
fi
done
}
operTomcat() {
stopTomcat $3
#get first param length
v_file_length=${#1}
#get file name(1 is first param)
v_file_name=${1:0:$[ $v_file_length - 4 ]}
#del and move war
cd $2
rm -rf $v_file_name*
jar xvf ${home_dir}/$1
startTomcat $3
}
stopTomcat() {
cd $1"/bin"
./shutdown.sh
#rm -rf $1"/logs/"*
echo "$1 shutdown over"
}
startTomcat() {
cd $1"/bin"
./startup.sh
echo "$1 start over"
}
echo "start"
process
echo "end"