将java项目部署到服务器中通过脚本执行

🐱‍🐉🐱‍🐉🐱‍🐉 博学、慎思、笃行谓之学🐾🐾🐾/font>

🌈博客主页👉白小筠

将java项目部署到服务器中通过脚本执行

编写启动脚本
注意修改jar包的名字为自己项目的名字

#!/bin/sh

#定义程序名 及jar包的名(写上你自己的jar包)
PROJECT_NAME=inherit-0.0.1-SNAPSHOT.jar

## 编写判断程序是否正在运行的方法
isExist(){
        ## 首先查找进程号 ,这里需要注意一下,不加{}号的话无法stop
    pid=`ps -ef | grep ${PROJECT_NAME} | grep -v grep | awk '{print $2}'`
    ## 如果进程号不存在,则返回0 否则返回1
    if [ -z "${pid}" ]; then
        return 0
    else
        return 1
    fi
}

## 编写启动程序方法
start(){
        ## 调用 判断程序是否正在运行的方法
    isExist
    ## 判断方法返回值是否等于0 ,等于则不存在
    if [ $? -eq "0" ]; then
        echo "${PROJECT_NAME} is starting ......"
        nohup java -Xms512m -Xmx1024m -jar ${PROJECT_NAME} >> ./log/startup.log &
        echo "${PROJECT_NAME} startup success"
    else
        echo "${PROJECT_NAME} is running, pid=${pid} "
    fi
}

## 编写停止程序的方法
stop(){
    ## 调用 判断程序是否正在运行
    isExist
    ## 判断是否存在,返回值0不存在
    if [ $? -eq "0" ]; then
        echo "${PROJECT_NAME} is not running ......"
    else
        echo "${PROJECT_NAME} is running, pid=${pid}, prepare kill it "
        kill -9 ${pid}
        echo "${PROJECT_NAME} has been successfully killed ......"
    fi
}


## 编写重启方法
restart(){
    ## 先停止再启动
    stop
    start
}


## 程序最开始执行的
## 根据用户输入,判断执行方法
case "$1" in
        "start")
                start
                ;;
        "stop")
                stop
                ;;
        "restart")
                restart
                ;;
        *)
                echo "please enter the correct commands: "
                echo "such as : sh startup.sh [ start | stop | restart ]"
                ;;
esac

原因分析:
原因:脚本文件是在Windows环境下编辑的,windows环境下,每一行的结尾是\n\r,而Linux环境下,每一行结尾是\n。使用cat -A startup.sh 可以看到每行的结尾后面多出了一个^M
解决方法:
执行命令

 sed -i 's/\r$//' filename

其中实现日志追加
在这里插入图片描述
通过命令

./start.sh start

启动脚本

若提示权限 不够

 chmod +x ./start.sh

在这里插入图片描述

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值