原创

CentOS服务器JAVA项目操作脚本



#!/bin/bash

# 定义变量
# 要运行的jar包路径,加不加引号都行。 注意:等号两边 不能 有空格,否则会提示command找不到
JAR_NAME="xxx.jar"

# 如果输入格式不对,给出提示!
tips() {
	echo ""
	echo "命令错误 请使用命令: sh operation.sh [start|stop|restart|status]"
	echo ""
	exit 1
}


# 启动方法
start() {
	# 重新获一下pid,因为其它操作如stop会导致pid的状态更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
	# -z 表示如果$pid为空时执行
	if [ -z $pid ]; then
		nohup java -jar -Xms1024m -Xmx4096m $JAR_NAME >./main.log 2>&1 &
		pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
		echo ""
		echo "....................服务 ${JAR_NAME} 正在启动... pid=${pid}..................."
		tail -f ./main.log
		echo "........................启动成功!........................."
	else
		echo ""
		echo "服务 ${JAR_NAME} 已经在运行中,pid = ${pid}. 如需重启,请使用 sh auto_deploy.sh restart 命令"
		echo ""
	fi
}

# 停止方法
stop() {
	# 重新获取一下pid,因为其它操作如start会导致pid的状态更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
	# -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
	if [ -z $pid ]; then
		echo ""
		echo "服务 ${JAR_NAME} 并未运行,无需停止!"
		echo ""
	else
		kill -9 $pid
		echo ""
		echo "服务关闭成功! pid:${pid} which has been killed forcibly!"
		echo ""
	fi
}

# 输出运行状态方法
status() {
	# 重新获取一下pid,因为其它操作如stop、restart、start等会导致pid的状态更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
	# -z 表示如果$pid为空时执行。注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
	if [ -z $pid ];then
		echo ""
		echo "服务 ${JAR_NAME} 并未运行!"
		echo ""
	else
		echo ""
		echo "服务 ${JAR_NAME} 运行中. pid = ${pid}"
		echo ""
	fi
}

# 重启方法
restart() {
	echo ""
	echo "............................. 服务重启中 .............................."
	# 重新获取一下pid,因为其它操作如start会导致pid的状态更新
	pid=`ps -ef | grep $JAR_NAME | grep -v grep | awk '{print $2}'`
	# -z 表示如果$pid为空时执行。 注意:每个命令和变量之间一定要前后加空格,否则会提示command找不到
	if [ ! -z $pid ]; then
		kill -9 $pid
	fi
	start
	echo ".................... 重启成功! ..........................."
}

# 根据输入参数执行对应方法,不输入则执行tips提示方法
case "$1" in
	"start")
	start
	;;
	"stop")
	stop
	;;
	"status")
	status
	;;
	"restart")
	restart
	;;
	*)
	tips
	;;

esac




Java
CentOS
  • 作者:一介闲人(联系作者)
  • 发表时间: 2024-03-06 08:59
  • 版权声明:原创-转载需保持署名
  • 公众号转载:请在文末添加本文链接
  • 评论