springboot 服務器啓動腳本實例

springboot 項目啓動服務腳本實例

#!/bin/bash
appName=test.jar
profile=$1
if [ -z $profile ];then
	echo "please input env profile...\n [usage]: $0 [dev|sit|uat|prd]"
	exit 1
fi
cd /home/fdm/bin
## 獲取應用進程號
pid=`ps -ef |grep $appName |grep -v grep |awk '{print $2}'`
## 獲取當前機器ipv4 ip
ip=`ip addr|grep "inet"|grep -v "inet6"|grep -v "127.0.0"|awk '{print $2}'|awk -F "/" '{print $1}'`

## 檢查應用進程是否存在
while [ 1 ];
do
	tPid=`ps -ef |grep $appName |grep -v grep |awk '{print $2}'`
	if [ -z $tPid ];then
		break
	else 
		echo "process is exist ,please stop server first..."
		sleep 5s
	fi
done 

## jar包完整性檢查
sleep 5s
for var in `seq 1 5`
do
	if [ ! -f check.md5 -o ! -s "check.md5" ];then
		break
	else 
		md5sum -c check.md5 >/dev/null
		if [ 0 -eq $? ];then
			echo "$appName check well ..."
			break
		else 
			echo "The file is being transferred,please wait a minute..."
			sleep 5s
		fi
	fi	 
 done
 ## 檢查jar包是否存在
if [ ! -f $appName ];then
	echo "$appName is not exist,app deploy failed..."
	exit 1
fi

## 啓動服務
 echo "begin start process... "
 nohup /usr/java/jdk1.8.0_171/bin/java -Dfile.encoding=utf-8 -Dspring.profiles.active=$profile -jar -server -Xms3072m -Xmx3072m -Xmn1280m -Xss256k  -XX:MetaspaceSize=512m -XX:MaxMetaspaceSize=512m -XX:+UseConcMarkSweepGC -XX:+UseParNewGC -XX:+CMSClassUnloadingEnabled -XX:+DisableExplicitGC -XX:+UseCMSInitiatingOccupancyOnly -XX:CMSInitiatingOccupancyFraction=68 -verbose:gc -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=/home/fdm/bin/logs/jvm -XX:ErrorFile=/home/fdm/bin/logs/jvm/hs_err_pid%p.log -Xloggc:/home/fdm/bin/logs/jvm/gc.log -Dcom.sun.management.jmxremote.port=1099 -Dcom.sun.management.jmxremote.ssl=false -Dcom.sun.management.jmxremote.authenticate=false -Djava.rmi.server.hostname=${ip}  $appName  >>/home/fdm/log/nohup.log 2>&1 &

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章