linux shell java服务启动重启脚本

服务启动脚本

平时自己项目修改后重新部署太麻烦了,就自己写了一个shell脚本

脚本可以重启或重新部署项目,并保存旧jar包

#!/bin/bash
. /etc/profile

serviceName=$1".jar"

echo 'get serviceName '$serviceName

pid=`ps -ef | grep $serviceName | grep -v 'grep' | awk '{print $2}'`

echo 'start kill task pid:'$pid

kill -9 $pid

if [ "$?" -eq 0 ]; then
        echo 'kill task success'
else
        echo  'kill task fail retcode:'$?
fi

path='/自定义路径/'$serviceName #自己设置想要的路径

if [ -e '/放置新jar包路径/'$serviceName ]; then

        nowDate=`date +"%Y%m%d%H%M%S"`
        echo 'user ner jar,mv old '$serviceName' file'
        mv /自定义路径/$serviceName /放置旧jar包路径/"$serviceName""$nowDate"
        mv /放置新jar包路径/$serviceName /自定义路径/$serviceName
else

        echo 'cant find new jar,restart service'
fi

nohup java -jar $path >'/root/'$1'.log' &

newPid=`ps -ef | grep $serviceName | grep -v 'grep' | awk '{print $2}'`

echo 'start service'$1'success,pid:'$newPid
#在bash中调用
./xxx.sh serverName

仅作为记录用,并不适合直接使用,可以拿去抄作业修改下在自己服务器用

PS:如果发现运行shell脚本有权限问题

  • 使用 shell xxx.sh param1 可以直接运行
  • 输入 chmod u+x xxx.sh 设置脚本权限 之后就可以 ./xxx.sh param1
原文地址:https://www.cnblogs.com/whmy-fun/p/13605903.html