使用姿势
##### 模板
# 使用 root 用户创建通用 springboot 模板并开启执行权限
su root
touch /usr/sbin/springboot
chmod a+x /usr/sbin/springboot
vi /usr/sbin/springboot
# 写入主脚本
##### 使用
# 脚本开启 root 用户不执行,使用项目绑定的用户
# e.g. work
su work
# 这里我通常创建 bin release website recycle_bin logs docker shell src 几个目录
# bin 项目链接
# release 项目
# shell 项目启动脚本
# logs 项目日志记录
# src 源或项目源
cd ~/shell
# 创建编辑执行脚本 加入以下内容
vi gateway.sh
#!/bin/bash
source /usr/sbin/springboot
# source common/general-skywalking
# ------------------------------------------------
name="project-gate"
JAR_NAME="/home/work/bin/${name}"
LOG_PATH="/home/work/logs/${name}.log"
JVM_ARGUMENTS=(
# "${skywalkingJVM[*]}"
# "-Dskywalking.agent.service_name=${name}"
"-Xms300M"
"-Xmx300M"
# "-Dloader.path=/home/work/src/lib/gateway/"
)
# ------------------------------------------------
Application $1
# 给予执行脚本执行权限
chmod u+x gateway.sh
# 运行(无参或错参为帮助提示)
./gateway.sh
# 每次启动或重启会压缩备份项目日志到项目日志路径下的 backup 文件夹中
# 启动项目
./gateway.sh start
# 重启项目
./gateway.sh restart
# 停止项目
./gateway.sh kill
# 项目状态
./gateway.sh -status
# 项目日志备份
./gateway.sh logs
# 成功运行一次后再次登录(首次运行需要手动,运行帮助提示视为运行失败)
# ./gateway.sh 空格 两次[tab]查看命令提示
./gateway.sh [Tab][Tab]
# 重启所有项目
for var in $(grep "^source /usr/sbin/springboot" $(find . -type f) | tr ':' ' ' | awk '{print $1}'); do $var restart; done
脚本
#!/bin/bash
# **********************************************************
# * Author : 夜路沏茶
# * Technical : 1530620364@qq.com
# * Filename : springboot
# * Version : 1.8.3
# * Description : 启动 spring-boot 项目
# * -------------------------------------------------------
# * Last modified : 2021-8-30 16:12:29
# * Last Update Log : 修复单个启动命令查找失败;
# * *******************************************************
LOG_BACKUP="backup"
EXECUTE=$0
Tips() {
LogGroup "WARNING";
echo "Usage: sh run.sh [start|stop|restart|status|logs]";
echo "e.g. sh run.sh start";
echo "";
echo " start: running a application of jar";
echo " restart: restart a application of jar";
echo " kill: stop a application of jar";
echo " -status: view status for a application of jar";
echo " logs: backup logs file";
echo "";
echo "Variables:";
echo " JAR_NAME: jar file";
echo " LOG_PATH: log path for springboot";
echo " JVM_ARGUMENTS: java jvm arguments ";