您的位置:首页 > 运维架构 > Shell

linux shell脚本 springboot项目发布的shell脚本 包括日志输出到指定的文件

2018-01-15 11:02 1151 查看
     项目发布,写了个shell脚本来启动项目,包括项目的启动,关闭 重启  包括项目的日志输出到指定的文件 ,不为别的,就为了下次项目发布的时候,能够直接把脚本拷贝过去用就行啦!哈哈!! 
把这段shell脚本复制过去,只要把红色部分改为你自己项目的东西,就可以直接运行啦  !
然后赋值该脚本执行权限就行了:chmod 777  脚本名
1.启动  ./blog.sh  start     2../blog.sh stop  3../blog.sh restart#!/bin/sh
#工作空间地址
RUN_DIR=/usr/local/blog
#项目运行放一些临时文件
CACHE_DIR=/usr/local/blog/cache
#配置环境变量 $PATH读取之前的环境变量用:进行连接
PATH=$PATH:$RUN_DIR
#注册环境变量
export PATH
#虚拟机的一些配置 主要是一个address这个不要重复(防止一个服务器发布多个项目),
JVM_OPTION="-agentlib:jdwp=transport=dt_socket,server=y,suspend=n,address=5789"
#这个主要是创建项目工作的文件夹(如果不存在就创建)
if [ ! -d "$CACHE_DIR" ]; then
echo "${CACHE_DIR}文件夹不存在,准备创建!"
mkdir -p "$CACHE_DIR"
echo "${CACHE_DIR}文件夹创建成功!"
fi
# 这里是输入运行指令 一般都是 ./socket.sh start ./socket.sh stop ./socket.sh restart $1是用来接收输入的指令
case "$1" in
start)
echo "Starting bloging..."
# 这里的声明项目运行的临时目录 日志输出到指定文件 &这个是表示以>>守护进程运行 大概就是支持后台运行的意思
java -jar ${JVM_OPTION} -Djava.io.tmpdir="$CACHE_DIR" $RUN_DIR/blog.jar -d"$RUN_DIR">>$RUN_DIR/log &
# 这里是获取当前项目运行的PID 并写入到pid文件中 为了后面的stop做铺垫
echo $! > $RUN_DIR/pid
;;
stop)
echo "Stopping bloging..."
#读取pid文件的项目进程ID
PID=$(cat $RUN_DIR/pid)
# 杀死项目的进程
kill -9 $PID
;;
restart)
echo "Stopping bloging..."
PID=$(cat $RUN_DIR/pid)
kill -9 $PID
sleep 2;
echo "Starting bloging..."
java -jar ${JVM_OPTION} -Djava.io.tmpdir="$RUN_DIR/cache" $RUN_DIR/blog.jar -d"$RUN_DIR">> $RUN_DIR/log &
echo $! > $RUN_DIR/pid
;;

*)
echo "Usage $0 {start|stop|restart}"
;;
esac
#正常运行程序并退出程序
exit 0
这里上张服务器的项目发布的结构图:

内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐