服务启动脚本
平时自己项目修改后重新部署太麻烦了,就自己写了一个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