周凯,个人博客

  • 前端
  • 嵌入式
  • 工具
  • 后端
  • 随笔
个人记录
  1. 首页
  2. 后端
  3. java
  4. 正文

java sh启动、停止脚本

2022年 10月 29日 439点热度 0人点赞 0条评论
  • 创建java.sh
#!/bin/bash

# 配置部分
APP_NAME="ai问答"                # 应用名称
JAR_FILE="jnpf-admin-3.4.7-RELEASE.jar"                # Java应用的JAR文件
LOG_FILE="myapp.log"                # 应用的日志文件
BACKUP_DIR="backup"                 # 备份目录
PID_FILE="myapp.pid"                # PID文件,用于记录Java进程ID
ENV="pro"  # 启动环境 dev pro

# 启动应用
start() {
    if [ -f "$PID_FILE" ]; then
        echo "$APP_NAME 已经运行中 (PID: $(cat $PID_FILE))"
    else
        echo "启动 $APP_NAME..."
        nohup java -jar -Dspring.profiles.active=$ENV $JAR_FILE > $LOG_FILE 2>&1 &
        echo $! > $PID_FILE
        echo "$APP_NAME 已启动 (PID: $(cat $PID_FILE))"
    fi
}

# 停止应用
stop() {
    if [ -f "$PID_FILE" ]; then
        PID=$(cat $PID_FILE)
        echo "停止 $APP_NAME (PID: $PID)..."
        kill $PID
        rm -f $PID_FILE
        echo "$APP_NAME 已停止"
    else
        echo "$APP_NAME 未运行"
    fi
}

# 备份JAR文件
backup() {
    if [ ! -d "$BACKUP_DIR" ]; then
        mkdir -p $BACKUP_DIR
    fi
    TIMESTAMP=$(date +%Y%m%d_%H%M%S)
    cp $JAR_FILE "$BACKUP_DIR/$APP_NAME-$TIMESTAMP.jar"
    echo "$APP_NAME 已备份到 $BACKUP_DIR/$APP_NAME-$TIMESTAMP.jar"
}

# 删除应用
delete() {
    if [ -f "$JAR_FILE" ]; then
        echo "删除应用 $APP_NAME..."
        rm -f $JAR_FILE
        echo "$APP_NAME 已删除"
    else
        echo "未找到应用文件 $JAR_FILE"
    fi
}

# 查看日志
logs() {
    echo "显示 $LOG_FILE 日志内容..."
    tail -f $LOG_FILE
}

# 用法提示
usage() {
    echo "用法: $0 {start|stop|backup|delete|logs}"
    exit 1
}

# 主逻辑,根据用户输入选择操作
case "$1" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    backup)
        backup
        ;;
    delete)
        delete
        ;;
    logs)
        logs
        ;;
    *)
        usage
        ;;
esac

exit 0

🎯 拓展阅读提示

本文涉及的内容已同步至公众号后台,我会在那里分享更多深度内容和实用技巧

→ 点击关注:一行梦境

公众号二维码
本作品采用 知识共享署名 4.0 国际许可协议 进行许可
标签: 暂无
最后更新:2024年 10月 13日

周凯

这个人很懒,什么都没留下

打赏 点赞
下一篇 >

文章评论

razz evil exclaim smile redface biggrin eek confused idea lol mad twisted rolleyes wink cool arrow neutral cry mrgreen drooling persevering
取消回复

COPYRIGHT © 2022-现在 周凯,个人博客. ALL RIGHTS RESERVED.

Theme Kratos Made By Seaton Jiang

蒙ICP备18004897号