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 &

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值