#!/bin/bash
# func:自动部署 1.0版本
# author:QinMaster
# version 1.0
# tomcat启动程序(这里注意tomcat实际安装的路径)
tomcatPath=/usr/local/apache-tomcat-7.0.63
# 项目名称(根据实际情况进行配置)
warDir=app
# 获取tomcat进程ID
TomcatID=$(ps -ef | grep ${tomcatPath} | grep -v 'grep' | awk '{print $2}')
StartTomcat=${tomcatPath}/bin/startup.sh
Webapps=${tomcatPath}/webapps
WorkSpace=$(pwd)
warfile="$warDir.war"
#主函数
function monitor()
{
echo "[info]开始监控tomcat...[$(date +'%F %H:%M:%S')]"
if [ $TomcatID ];then
echo "[info]当前tomcat进程ID为:$TomcatID"
kill -9 $TomcatID
fi
backup
removeProject
upload
startTomcat
}
#启动tomcat
function startTomcat(){
if [ -f "$Webapps/$warfile" ];
then
$StartTomcat
tail -f ${tomcatPath}/logs/catalina.out
else
echo "没有war"
fi
}
#上传文件
function upload(){
cd $Webapps
if [ -f "$Webapps/$warfile" ];
then
echo "已存在war"
else
rz
fi
cd $WorkSpace
}
#清除tomcat的项目缓存
function removeProject()
{
echo "开始清理tomcat的项目缓存"
if [ -d "$Webapps/$warDir" ];
then
rm -rf "$Webapps/$warDir"
else
echo "不存在$Webapps/$warDir"
fi
if [ -f "$Webapps/$warfile" ];
then
rm -f "$Webapps/$warfile"
else
echo "不存在$Webapps/$warfile"
fi
echo "清理完毕"
}
#备份原来的项目
function backup()
{
echo "开始备份...."
fileDate=$(date "+%Y%m%d%H%M%S")
fileName=app${fileDate}
if [ -d "$Webapps/$warDir" ];
then
cd $Webapps
tar -zcvf ${fileName}.tar.gz ${Webapps}/app
cd $WorkSpace
echo "备份完毕..."
else
echo "不存在$Webapps/$warDir"
fi
}
monitor
shell脚本自动发布脚本
转载请注明原文地址: https://ju.6miu.com/read-1201075.html