Linux下 tomcat war自动部署脚本

  • Post author:
  • Post category:linux




发布脚本

#!/bin/bash

# 0、war包发布sh开始执行了,初始参数如下。
# 1、现有包打包。
# 2、查找tomcat的pid。
# 3、停止tomcat线程:
# 4、删除旧war包。
# 5、拷贝新war包至web目录。
# 6、启动tomcat。
# 7、询问是否查看日志。

echo -n  "首先你要检查base-deploy,打包时tradeBase中model是否为最新的(1/0)->"
read  tmp
if [[ $tmp -eq 0 ]]; then
    exit 8
fi
echo '-----------0、war包发布sh开始执行了,初始参数如下。'
pubtime=$(date "+%Y%m%d%H%M")
home=/opt/prod/apache-tomcat-7.0.64
war_home=/opt/prod/lastwar
new_war_path=/opt/java/sharedfiles/lastwar
START=$home/bin/startup.sh
public_war='tradeClient.war'
file_name=$0
echo "time:$pubtime"
echo "tomcat_home:${home}"
echo "war_home:${war_home}"
echo "new_war_path:${new_war_path}"
echo "START.sh:${START}"
if [ -n "$1" ]
then
    public_war=`eval echo $1`
    echo '入参不为空,发布war包已修改。'
fi
echo "public_war:$public_war"
echo "file_name:$file_name"
echo '-----------1、现有包打包。'
zip $war_home/${public_war%%.*}$pubtime.zip $home/webapps/${public_war}
echo '-----------2、查找tomcat的pid。'
myPid=`ps -ef | grep $home/bin/bootstrap.jar | grep -v grep | awk '{print $2}'`
echo "-----------3、停止tomcat线程:$myPid"
kill -9 $myPid
echo "tomcat线程:$myPid已杀死..."
echo '-----------4、删除旧war包。'
rm -rf $home/webapps/${public_war%%.*} $home/webapps/${public_war}
echo '-----------5、拷贝新war包至web目录。'
cp $new_war_path/${public_war} $home/webapps/
echo '-----------6、启动tomcat。'
$START
echo -n  "7、是否查看日志(1/0)->"
read  num
if [[ $num -eq 1 ]]; then
    tail -100f $home/logs/cronologs/catalina-$(date "+%Y-%m-%d").log
else
 echo "发布war结束,注意检查tradeBase中model是否为最新的。"
fi






版权声明:本文为m0_37827628原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。