手写linux上的重启脚本,先把提纲列下
1.检查进程是否存在
存在杀死
2.备份原来的包到指定目录
3. 拉取新包,我这边为了简便,没有从jenkins slave上拿
4.启动命令
5.检查是否进程起来了
#!/bin/bash
###path
JAVA=/usr/java/jdk1.8.0_211-amd64/bin/java
APP_HOME=/opt/88bugs
APPNAME=TestPlatform.jar
APP_PARAM="--spring.config.location=${APP_HOME}/application.properties"
####check wheather the port is running, if yes kill it
PID=`ps -ef | grep ${APP_HOME}/${APPNAME} | grep -v grep | awk '{print $2}'`
echo ${PID}
if test -z ${PID}
then
echo "进程没有启动!"
else
echo "will shutdown this process"
kill -9 ${PID}
sleep 2
fi
####backuop
mv ${APP_HOME}/${APPNAME} ${APP_HOME}/backup/${APPNAME}-date +%Y%m%d%H%M%S
####deploy the war package
cp -r /opt/${APPNAME} ${APP_HOME}/${APPNAME}
##### start the process#
nohup ${JAVA} -jar ${APP_HOME}/${APPNAME} ${APP_PARAM} > ${APP_HOME}/catalina.out 2>&1 &
afterPID=`ps -ef | grep ${APP_HOME}/${APPNAME} | grep -v grep | awk '{print $2}'`
echo ${afterPID}
sleep 10
if test -z ${afterPID}
then
echo "部署失败"
else
echo "部署成功"
fi