服务器发版脚本

关闭原有服务并启动当前服务:

我的服务器的文件位置是这样的,诸君可以根据自己的服务器文件位置自己更改脚本,此例子只是作为一个启发

 

 启动脚本的代码 sh start.sh xxxxx(不加.jar的JAR文件名)

脚本如下:

#!/bin/bash

#jar包文件路径及名称(目录按照各自配置)
APP_NAME=$1

JAR_NAME="./jar/${APP_NAME}.jar"

#日志文件路径及名称(目录按照各自配置)
LOG_FILE="./log/${APP_NAME}.log"

#判断jar包文件是否存在,如果存在启动jar包,并时时查看启动日志
if test -e $JAR_NAME
then

#查询进程,并杀掉当前jar/java程序

PID=`ps -ef|grep $JAR_NAME | grep -v grep | awk '{print $2}'`
kill -9 $PID
echo "$PID进程终止成功"

sleep 2

echo '文件存在,开始启动此程序...'
# 启动jar包,指向日志文件,2>&1 & 表示打开或指向同一个日志文件
nohup java -jar $JAR_NAME > $LOG_FILE 2>&1 &

#实时查看启动日志(此处正在想办法启动成功后退出)
tail -f $LOG_FILE

#输出启动成功(上面的查看日志没有退出,所以执行不了,可以去掉)

#echo '$APP_NAME 启动成功...'
else
echo '$JAR_NAME 文件不存在,请检查。'
fi

遇到的问题  :Command not found 此问题应该是在WINDOWS编写,迁移到服务器中才会出现(记得用户权限)

解决方式:https://www.cnblogs.com/wdw31210/p/10143743.html

posted @ 2020-05-20 11:02  ZLXYH  阅读(249)  评论(0编辑  收藏  举报