您的位置:首页 > 运维架构 > Tomcat

tomcat服务重启、备份脚本

2018-04-03 23:00 253 查看
摘要: 线上服务发布时,总是需要手工地进行备份、重启等操作,简单写了个shell脚本完成这一系列的操作。

在上一家公司工作时,深受手动发布之苦,一直想花点时间学习一下自动发布和程序构建等技术。发现其实只要自己花点时间,都能让自己减少很多重复的劳动。会偷懒的程序员才是好程序员!

如果是在测试、开发环境 可以使用maven的upload plugin结合脚本的方式实现自动发布,当然更规范的流程是搭建一个jenkins环境来做持续集成。线上环境无法用upload插件直接上传war包、执行脚本,因此写了个小脚本,其实也非常简单。虽然简陋,但是还挺实用的。

#!/bin/bash

echo "===============begin publish ddbao-mobile================"

tomcatId=$(jps -lmv|grep 'ddbao-mobile'|awk '{print $2}')

startTomcatPath=/data0/java/ddbao-mobile/apache-tomcat-7.0.59/bin/startup.sh

tomcatLog=/data0/java/ddbao-mobile/apache-tomcat-7.0.59/logs/catalina.out

fileName='ddbao-mobile.war.'$(date +%s)

echo "ddbao-mobile tomcatId:$tomcatId"

echo "kill ddbao-mobile"

kill -9 $tomcatId

sleep 1

echo "backup ddbao-mobile.war"

cp /data0/java/ddbao-mobile/apache-tomcat-7.0.59/webapps/ddbao-mobile.war /data0/java/publish/backup/ddbao-mobile/$fileName

echo "delete ddbao-mobile webapp"

rm -rf /data0/java/ddbao-mobile/apache-tomcat-7.0.59/webapps/ddbao-mobile /data0/java/ddbao-mobile/apache-tomcat-7.0.59/webapps/ddbao-mobile.war

echo "copy ddbao-mobile.war to webapp"

cp /data0/java/publish/ddbao-mobile.war /data0/java/ddbao-mobile/apache-tomcat-7.0.59/webapps/ddbao-mobile.war

echo "restart ddbao-mobile"

sh $startTomcatPath

tail -f $tomcatLog
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  发布 备份