每次部署服务器太过繁琐,所以我们可以考虑写一个自动部署的脚本,省时省力,OK废话不多说进入正题 #! /bin/shecho '####################开始自动部署####################'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服务fisleep 1 #休眠1scd ../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 #休眠1scd ../bin./startup.sh #启动tomcat服务echo '####################部署结束####################'- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9
- 10
- 11
- 12
- 13
- 14
- 15
- 16
- 17
- 18
- 19
- 20
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
|