linux自动部署tomcat脚本

每次部署服务器太过繁琐,所以我们可以考虑写一个自动部署的脚本,省时省力,OK废话不多说进入正题

#! /bin/sh
echo '####################开始自动部署####################'
path=`pwd` #当前路径
tomcatPath=apache-tomcat-8.5.32 #指定tomcat文件目录名称
cd ../$tomcatPath/bin #进入tomcat的bin目录
PID=$(ps -fu `whoami`|grep tomcat|grep -v grep|awk '{print $2}')
if [ -z "$PID" ];then
 echo "no tomcat process"
else
./shutdown.sh #停止tomcat服务
fi
sleep 1 #休眠1s
cd ../webapps #进入tomcat的webapps目录
rm -fr demo #删除demo文件目录
mv demo.war demo.war.$(date +%Y%m%d) #备份webapps下的demo 
cp $path/demo.war ./ #复制demo.war到webapps路径下
sleep 1 #休眠1s
cd ../bin
./startup.sh #启动tomcat服务
echo '####################部署结束####################'

1.需要注意:
在tomcat同级目录下创建autoDeploy文件夹,将autoDeploy.sh与demo.war放于此目录下。
这里写图片描述
此时我们输入命令 ./auto+tab键若没有自动补全则说明脚本没有执行权限,需要执行:chmod +x autoDeploy.sh

2.使用过程中会遇到一些问题:
如果autoDeploy.sh是在windows系统中创建上传到服务器中的,执行会报错。原因是在windos系统中创建的脚本的格式为dos格式,而linux只能执行格式为unix格式的脚本。

我们是用vi编辑器打开脚本
输入set ff可以看到fileformat=dos,文件为dos格式
这里写图片描述

此时我们需要更改脚本格式:set ff=unix

这里写图片描述
最后保存并退出,可以看到文件名已经变色了,说明修改成功
这里写图片描述
执行,OK
这里写图片描述

猜你喜欢

转载自blog.csdn.net/qq_33157669/article/details/81869666