前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Spring Boot项目sheel脚本(启动、停止、重启、状态)

Spring Boot项目sheel脚本(启动、停止、重启、状态)

作者头像
猿码优创
发布2019-07-27 21:09:42
2.3K0
发布2019-07-27 21:09:42
举报
文章被收录于专栏:猿码优创猿码优创猿码优创

给大家分享一份关于jar包项目的sheel脚本文件,启动、停止、重启以及查看状态。 我觉得这个脚本写得很不错,直接把jar包上传到服务器,然后把脚本上传到同一目录下。

file
file

  1. 启动方法:app.sh start 会自动生成catalina.log(文件名称可以自行修改脚本) 文件可供查阅日志
  2. 查阅实时日志方法:tail -f catalina.log
  3. 停止方法:app.sh stop 会杀掉当前目录下的服务进程
  4. 重启方法:app.restart 平滑重启服务
  5. 查询状态:app.status ps:app.sh(是文件名,可以自行修改。)

app.sh代码如下:

(adsbygoogle =window.adsbygoogle ||[]).push({});

	#!/bin/bash
	## blog:www.cnbuilder.cn
	## create 2019-04-30
	version="5.2.1";

	appName=$2
	if [ -z $appName ];then
		appName=`ls -t |grep .jar$ |head -n1`
	fi

	## 后台启动项目 自动生成 catalina.log日志文件
	function start()
	{
		count=`ps -ef |grep java|grep $appName|wc -l`
		if [ $count != 0 ];then
			echo "Maybe $appName is running, please check it..."
		else
			echo "The $appName is starting..."
			nohup java -jar ./$appName -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Xms512M -Xmx4G > catalina.log 2>&1 &
		fi
	}
	## 停止项目
	function stop()
	{
		appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
		if [ -z $appId ];then
			echo "Maybe $appName not running, please check it..."
		else
			echo "The $appName is stopping..."
			kill $appId
		fi
	}
	##重启项目(平滑启动)
	function restart()
	{
		# get release version
		releaseApp=`ls -t |grep .jar$ |head -n1`

		# get last version 
		lastVersionApp=`ls -t |grep .jar$ |head -n2 |tail -n1`

		appName=$lastVersionApp
		stop
		for i in {5..1}
		do
			echo -n "$i "
			sleep 1
		done
		echo 0

		backup

		appName=$releaseApp
		start
	}

	function backup() 
	{
		# get backup version
		backupApp=`ls |grep -wv $releaseApp$ |grep .jar$`

		# create backup dir
		if [ ! -d "backup" ];then
			mkdir backup
		fi

		# backup
		for i in ${backupApp[@]}
		do
			echo "backup" $i
			mv $i backup
		done
	}

	## 查看项目当前状态 
	function status()
	{
		appId=`ps -ef |grep java|grep $appName|awk '{print $2}'`
		if [ -z $appId ] 
		then
			echo -e "\033[31m Not running \033[0m" 
		else
			echo -e "\033[32m Running [$appId] \033[0m" 
		fi
	}


	function usage()
	{
		echo "Usage: $0 {start|stop|restart|status|stop -f}"
		echo "Example: $0 start"
		exit 1
	}

	case $1 in
		start)
		start;;

		stop)
		stop;;

		restart)
		restart;;

		status)
		status;;

		*)
		usage;;
	esac

有什么问题可以联系一下我。

提前祝大家五一劳动节快乐


感谢一路支持我的人。。。。。

Love me and hold me
QQ:69673804(16年老号)
EMAIL:itw@tom.com
友链交换
如果有兴趣和本博客交换友链的话,请按照下面的格式在评论区进行评论,我会尽快添加上你的链接。

网站名称:KingYiFan’S Blog
网站地址:http://blog.cnbuilder.cn
网站描述:年少是你未醒的梦话,风华是燃烬的彼岸花。
网站Logo/头像: [头像地址](https://blog.cnbuilder.cn/upload/2018/7/avatar20180720144536200.jpg)
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2019-04-30,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档