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
这里上张服务器的项目发布的结构图:
把这段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
这里上张服务器的项目发布的结构图:
相关文章推荐
- 执行系统命令并且将输出写到指定日志文件的shell脚本(1)
- 执行系统命令并且将输出写到指定日志文件的shell脚本(2)
- 自动删除指定时间内的日志和文件shell脚本
- 编写一个SHELL脚本,可以获得指定目录下的所有文件及文件夹的大小。输出的样式与 ls -lh 命令相同。
- Shell执行将脚本里的变量打印到指定日志文件
- springboot 配置logback控制台彩色打印,按等级输出日志文件
- logback:输出日志到文件(滚动)&& Spring Boot干货系列:(七)默认日志logback配置解析(转载)
- springboot输出日志到指定目录,简单粗暴,springboot输出mybatis日志
- 第十章:SpringBoot日志——(指定日志文件和日志Profile功能)
- Spring Boot项目实现下载项目根目录下指定目录(doc)里的文件
- 【spring boot logback】日志logback 生成日志文件在本项目下,而不在指定的日志文件目录下/指定日志文件到达最大值后不按照配置进行切割
- 基于web项目log日志指定输出文件位置配置方法
- 关于web项目log日志指定输出文件位置配置
- shell将脚本输出结果记录到日志文件的实现
- shell将脚本输出结果记录到日志文件
- Spring-Boot--日志操作全局异常捕获消息处理☞日志控制台输出+日志文件记录
- Spring Boot项目实现从系统目录中下载指定文件(D盘下,测试文件1.txt)
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】
- 在Spring的项目中配置Log4j存放日志文件到指定目录下
- Spring-Boot--日志操作【全局异常捕获消息处理☞日志控制台输出+日志文件记录】