服務啟動腳本
平時自己項目修改后重新部署太麻煩了,就自己寫了一個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
