由于经常部署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. 说明
- 新建一个目录
autoDeploy
与tomcat
目录放在同级目录下autoDeploy.sh
放在autoDeploy
目录下- 需要部署的
test.wa
r放在autoDeploy
目录下(test.war为需要部署的到tomcat上的war包)
tomcatPath=tomcat-7
(指定tomcat文件目录名称,tomcat-7改为自己tomcat的目录名称)- 执行
autoDepoy.sh
即可实现自动部署- 新建的
autoDepoy.sh
若没有执行权限,需要执行:chmod +x autoDeploy.sh
- 新建的