当前位置: 首页 > news >正文

Java启动JAR,.sh版

#!/bin/bash# 设置应用程序路径(根据实际目录结构调整)
APP_NAME="rywm-admin.jar"
APP_PATH="../$APP_NAME"  # 从bin目录上一级找到JAR文件# 获取当前日期,格式为:年-月-日
CURRENT_DATE=$(date +%Y-%m-%d)# 设置日志路径,按天存储(日志目录将创建在work目录下)
LOG_DIR="../logs"
LOG_FILE_NAME="${APP_NAME%.*}_${CURRENT_DATE.log"
LOG_PATH="$LOG_DIR/$LOG_FILE_NAME"# 创建日志目录
if [ ! -d "$LOG_DIR" ]; thenmkdir -p "$LOG_DIR"echo "创建日志目录: $LOG_DIR"
fi# 日志记录函数
log() {local message=$1local timestamp=$(date +"%Y-%m-%d %H:%M:%S")local log_message="[$timestamp] $message"echo "$log_message" >> "$LOG_PATH"
}# 显示菜单函数
show_menu() {clearecho "================================="echo "    JAR应用程序管理工具"echo "================================="echo "    应用程序: $APP_NAME"echo "    路径: $APP_PATH"echo "================================="echo ""echo "  1、 启动应用程序"echo "  2、 停止应用程序"echo "  3、 重启应用程序"echo "  4、 查看当天应用日志"echo "  5、 查看指定日期应用日志"echo "  6、 实时查看应用日志"echo "  7、 退出"echo ""echo "================================="
}# 获取用户选择函数
get_choice() {read -p "请输入选项 [1-7] " choicewhile [[ -z "$choice" || ! "$choice" =~ ^[1-7]$ ]]; doecho "无效的选项,请输入 1-7 之间的数字!"sleep 2show_menuread -p "请输入选项 [1-7] " choicedoneecho "$choice"
}# 启动应用程序函数
start_app() {echo "正在启动应用程序..."log "尝试启动应用程序..."# 检查应用是否已在运行pid=$(ps aux | grep "$APP_NAME" | grep -v grep | awk '{print $2}')if [ -n "$pid" ]; thenecho "应用程序已在运行,进程ID: $pid"log "启动失败:应用程序已在运行,进程ID: $pid"read -p "按回车键继续..."returnfi# 启动应用并后台运行nohup java -Dfile.encoding=UTF-8 -jar "$APP_PATH" >> "$LOG_PATH" 2>&1 &echo "应用程序启动中..."sleep 2# 检查启动是否成功pid=$(ps aux | grep "$APP_NAME" | grep -v grep | awk '{print $2}')if [ -n "$pid" ]; thenecho "应用程序已启动,进程ID: $pid"log "应用程序已启动,进程ID: $pid"elseecho "应用程序启动失败,请查看日志"log "应用程序启动失败"firead -p "按回车键继续..."
}# 停止应用程序函数
stop_app() {echo "正在停止应用程序..."log "尝试停止应用程序..."pid=$(ps aux | grep "$APP_NAME" | grep -v grep | awk '{print $2}')if [ -n "$pid" ]; thenkill -9 "$pid"echo "正在终止进程 $pid..."sleep 2# 确认进程已停止if ps -p "$pid" > /dev/null; thenecho "终止进程失败,请手动检查"log "终止进程失败,进程ID: $pid"elseecho "应用程序已停止"log "应用程序已停止,进程ID: $pid"fielseecho "未找到正在运行的应用程序"log "停止失败:未找到正在运行的应用程序"firead -p "按回车键继续..."
}# 重启应用程序函数
restart_app() {echo "正在重启应用程序..."log "尝试重启应用程序..."stop_appstart_app
}# 查看当天应用日志函数
view_today_log() {echo "正在查看当天应用日志: $LOG_PATH"if [ -f "$LOG_PATH" ]; thenless "$LOG_PATH"elseecho "当天日志文件不存在!"log "查看当天日志失败:日志文件不存在"firead -p "按回车键继续..."
}# 查看指定日期应用日志函数
view_specific_log() {read -p "请输入要查看日志的日期(格式:年-月-日,例如 2025-04-29)" specific_datespecific_log_name="${APP_NAME%.*}_${specific_date}.log"specific_log_path="$LOG_DIR/$specific_log_name"if [ -f "$specific_log_path" ]; thenless "$specific_log_path"elseecho "指定日期的日志文件不存在:$specific_log_path"log "查看指定日期日志失败:日志文件不存在,日期:$specific_date"firead -p "按回车键继续..."
}# 实时查看应用日志函数
view_realtime_log() {echo "正在实时查看应用日志(按 Ctrl + C 停止查看)..."if [ -f "$LOG_PATH" ]; thentail -f -n 1000 "$LOG_PATH"elseecho "日志文件不存在!"firead -p "按回车键继续..."
}# 主循环
while true; doshow_menuchoice=$(get_choice)case $choice in1) start_app ;;2) stop_app ;;3) restart_app ;;4) view_today_log ;;5) view_specific_log ;;6) view_realtime_log ;;7) echo "退出应用程序管理工具..."log "退出应用程序管理工具"break ;;*) echo "无效的选项,请输入 1-7 之间的数字!"sleep 2 ;;esac
done

目录结构

/home/bizuser/logs

/home/bizuser/work/logs

/home/bizuser/work/bin/restart.sh

/home/binzuser/work/rywm-admin.jar

执行权限

chmod +x  /home/bizuser/work/bin/restart.sh

 

http://www.sczhlp.com/news/26079/

相关文章:

  • 宽带费用多少钱一年珠海网站seo
  • 手机如何制作ppt北京seo代理计费
  • wap浏览器是什么意思惠州企业网站seo
  • 制作网站作品北京seo案例
  • 石家庄市最新公告整站seo排名费用价格
  • ppt模板网站哪个免费哪个平台做推广效果好
  • wordpress 商城站下载地址北京口碑最好的教育机构
  • 做童装在哪个网站做广告矿坛器材友情交换
  • 佛山网站建设外包公司促销方案
  • 手机安卓系统seo最新技巧
  • 银川做网站哪家好推广通
  • 小程序建站模板外贸接单平台
  • 营销型网站的建设规划海南seo顾问服务
  • 济南做公司网站需要多少钱湖南长沙seo
  • 品牌设计公司名字杭州网站优化服务
  • 长沙企业做网站哪家好代写文章质量高的平台
  • 网站访问量大 处理武汉seo优化分析
  • 西安网络公司排名前十名资阳市网站seo
  • 如何在 Windows 把大写锁定改为语言切换?
  • 一流高职院校建设专题网站如何开发一款app软件
  • 重庆建设厂招工信息网站短视频精准获客
  • 全球最大的设计网站推广软件平台
  • 大连网站推广排名郑州seo实战培训
  • 做外贸是在什么网站许昌网站seo
  • 个人建立网站怎么赚钱排行榜123网
  • 深圳做网站公司注册城乡规划师报考条件
  • 关于网站建设心得体会雅思培训机构哪家好机构排名
  • 景宁建设局网站官网制作网站费用
  • wordpress视频类模板淘宝关键词优化技巧教程
  • 织梦网站访问量统计代码经典软文范例大全