Linux 中实现Tomcat自动部署脚本

由于经常部署war到tomccat上,经常有一些重复的工作要做:停服务、备份war包、上传新的war包、启动服务。

1. 脚本

脚本如下autoDeploy.sh:

#! /bin/sh
echo '####################开始自动部署####################'  
path=`/usr/local/apache-tomcat/` #当前路径  
tomcatPath=apache-tomcat #指定tomcat文件目录名称  
cd /usr/local/apache-tomcat/bin #进入tomcat的bin目录  
PID=$(ps -fu `whoami`|grep tomcat|grep -v grep|awk '{print $2}')  
if [ -z "$PID" ];then  
 echo "没有tomcat服务运行"
else  
./shutdown.sh #停止tomcat服务
kill "$PID" #防止停止tomcat服务失败, 强行kill进程  
fi  
sleep 1 #休眠1s  
cd ../webapps/app #进入tomcat的webapps目录  
rm -Rf *  
mv /usr/tmp/app.war /usr/local/apache-tomcat-7.0.62/webapps/app/app.war  
jar -xvf app.war  
rm -f app.war  
sleep 1 #休眠1s  
cd ../../bin/  
nohup ./startup.sh & #启动tomcat服务  
echo '####################部署结束####################'

2. 说明

  • 新建一个目录autoDeploytomcat目录放在同级目录下
    • autoDeploy.sh放在autoDeploy目录下
    • 需要部署的test.war放在autoDeploy目录下(test.war为需要部署的到tomcat上的war包)
  • tomcatPath=tomcat-7(指定tomcat文件目录名称,tomcat-7改为自己tomcat的目录名称)
  • 执行autoDepoy.sh即可实现自动部署
    • 新建的autoDepoy.sh若没有执行权限,需要执行:chmod +x autoDeploy.sh

itFinn

Keep Think Different