tomcat服务重启、备份脚本

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

    如果是在测试、开发环境 可以使用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

你可能感兴趣的:(备份,发布)