java应用启动脚本shell
程序目录
│─app-2.1.8.jar
│
├─bin
│ deploy_app.sh
│
├─config
│ application.yml
脚本
#!/bin/sh
MODULE_NAME=app
VERSION=2.1.8
AGENT=""
JAR_NAME=${MODULE_NAME}-${VERSION}.jar
cd ../
WORK_HOME=$(pwd)
pids=`ps -ef | grep ${JAR_NAME}|grep -v grep | awk '{print $2}'`
function start()
{
if [ -n "$pids" ]; then
echo "server is running, pid $pids"
sleep 3s
exit
else
echo "server is start..."
nohup java ${AGENT} -jar ${WORK_HOME}/${JAR_NAME} -Dloader.path=../lib --spring.config.location=../config >/dev/null 2>&1 &
fi
}
function stop()
{
if [ -n "$pids" ]; then
echo "server is closing"
kill -9 $pids
else
echo "server isn't running"
fi
}
function restart()
{
if [ -n "$pids" ]; then
echo "server is running, pid $pids"
sleep 3s
kill -9 $pids
fi
echo "server is start..."
nohup java ${AGENT} -jar ${WORK_HOME}/${JAR_NAME} -Dloader.path=../lib --spring.config.location=../config >/dev/null 2>&1 &
}
function status()
{
if [ -n "$pids" ]; then
echo "${JAR_NAME} pid: $pids"
else
echo "server isn't running"
fi
}
function log()
{
tail -500f ./log/app.log
}
case "$1" in
start)
start
;;
stop)
stop
;;
status)
status
;;
restart)
restart
;;
log)
log
;;
*)
echo $"Usage: sh deploy_app.sh {start|stop|restart|log}"
exit $?
;;
esac
执行脚本
进入bin 目录下执行sh deploy_app.sh start