生产环境脚本变更tomcat应用后启动失败记录


之前部门开发在执行我写的tomcat变更脚本后经常会出现第二天发现tomcat服务没有起来的现象,今天配合部门进行了问题排查。

脚本如下:

$ cat uphbase.sh 

w=`date +%Y%m%d%H%M%S`

newfiledir=/data/webApp/war_pacakage

tomcatdir=/data/webApp/tomcat-hbaseserv

backupdir=/data/webApp/tomcat-hbaseserv/backup

appname=hbaseserv

if [ -e "$newfiledir/$appname.war" ]; then

  echo "war archive: $appname.war"

else

  echo "war archive $appname.war not exists"

  exit -1

fi

echo "tomcat home: $tomcatdir"

echo "backup path: $backupdir"

echo 'try to stop tomcat...'

pid=`ps -ef | grep tomcat | grep hbaseserv | awk '{print $2}'`

if [ -n $pid ];then

  echo "tomcat pid: $pid";

  kill -9 $pid;

fi

echo 'stop tomcat finished...'

echo 'backup old archive...'

if [ -f "$tomcatdir/webapps/$appname.war" ];then

  mv -v "$tomcatdir/webapps/$appname.war" "$backupdir/$appname.war-$now"

fi

rm -rf $tomcatdir/webapps/$appname*

echo "copy $appname.war archive to webapps..."

cp -v "$newfiledir/$appname.war" $tomcatdir/webapps

echo 'startup tomcat...'

执行脚本

sh $tomcatdir/bin/startup.sh

听开发说他在查看了半天日志依然没有问题,结合日志信息发现把窗口关闭后服务才停止。

解决办法:

方法一:

1)、当执行完脚本后,执行Cotrl+C退出日志的查看,不要直接关闭窗口

方法二:

2)、在 sh $tomcatdir/bin/startup.sh 这一行前添加 set +m

参考文章:

https://blog.csdn.net/zhouyannian1988/article/details/53508689

https://www.cnblogs.com/liduanjun/p/3536996.html


猜你喜欢

转载自blog.51cto.com/xiaoxiaozhou/2339467