EDITORIAL
Recently, the company's project required on the server to do some adjustments, have become unified structure look
- conf目录
- lib目录
- log目录
- script目录
conf directory of the main storage spring boot configuration file, you can change the configuration data corresponding
lib directory is already stored in lay version of spring boot executable jar package
log directory is stored in the system log the corresponding system generated
script directory is stored in the system start script
shell source code as follows:
#!/bin/bash
#jar名称
**APP_NAME=../lib/a.jar** # 这块替换为你的jar包即可
CONFIG_NAME=../conf/application.properties
#使用说明,用来提示输入参数
usage() {
echo "Usage: sh a.sh [start|stop|restart|status]" # a.sh 为这个脚本名称 替换为你喜欢的名称即可
exit 1
}
#检查程序是否在运行
is_exist() {
pid=`ps -ef | grep $APP_NAME | grep -v grep | awk '{print $2}' `
#如果不存在返回1,存在返回0
if [ -z "${pid}" ]; then
return 1
else
return 0
fi
}
#启动方法
start() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is already running. pid=${pid} ."
else
nohup java -jar -Dspring.config.location=$CONFIG_NAME $APP_NAME > /dev/null 2>&1 &
fi
}
#停止方法
stop() {
is_exist
if [ $? -eq "0" ]; then
kill -9 $pid
else
echo "${APP_NAME} is not running"
fi
}
#输出运行状态
status() {
is_exist
if [ $? -eq "0" ]; then
echo "${APP_NAME} is running. Pid is ${pid}"
else
echo "${APP_NAME} is not running."
fi
}
#重启
restart() {
stop
start
}
#根据输入参数,选择执行对应方法,不输入则执行使用说明
case "$1" in
"start")
start
;;
"stop")
stop
;;
"status")
status
;;
"restart")
restart
;;
*)
usage
;;
esac
Use the command
sh a.sh [start|stop|restart|status]