首页 > 系统相关 >springboot的jar在linux上sh启动脚本

springboot的jar在linux上sh启动脚本

时间:2024-08-07 19:49:17浏览次数:10  
标签:grep springboot DEPLOY appName jar echo sh PATH server

 

java 在linux上 start、stop、restart、status等启动命令,sh脚本,appMgr.sh 放在reources/ops下

#!/usr/bin/sh

APP_NAME="@project.name@[email protected]@.jar"
DEPLOY_PATH=`pwd`
#JVM启动参数 1
JVM_PARAMS="-Dfastjson.parser.safeMode=true"

command =$1
#nohup java -XX:+UseG1GC -XX:+HeapDumpOnOutOfMemoryError -Xms512M -Xmx4G -jar $appName > /dev/null 2>&1 &
function start()
{
    echo "server start proces ${DEPLOY_PATH}/$APP_NAME"
    count=`ps -ef |grep java|grep $appName|wc -l`
    if [ $count != 0 ];then
        echo "server has been ${DEPLOY_PATH}/$APP_NAME"
    else
        nohup java -Xbootclasspath:a:${DEPLOY_PATH}/config -jar ${JVM_PARAMS}  ${DEPLOY_PATH}/${APP_NAME} > /dev/null 2>&1 &
        sleep 10
        status
    fi
}

function status()
{
    $appId=`ps -ef |grep ${DEPLOY_PATH}/$appName|grep -v grep|grep -v kill|awk '{print $2}'`
    if [ -z $appId ]
    then
        echo  "server is running ,appName is $appName,pid is ${$appId}"
    else
        echo  "server is running ,appName is $appName,pid is ${$appId}"
    fi
}
function stop()
{
    tpid=`ps -ef|grep ${DEPLOY_PATH}/${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
    if [[ ${tpid} ]]; then
        echo "server Stop Process... $appName"
        kill -15 ${tpid}
    else
         echo "server error: ${APP_NAME} not found"
         exit 1
    fi
    sleep 5
    tpid=`ps -ef|grep ${DEPLOY_PATH}/${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
    if [[ ${tpid} ]]; then
        echo "server Kill Process! ${DEPLOY_PATH}/$appName"
        kill -9 ${tpid}
    else
        echo "server Stop Success!${DEPLOY_PATH}/$appName"
    fi
}

function forcekill()
{
    tpid=`ps -ef|grep ${DEPLOY_PATH}/${APP_NAME}|grep -v grep|grep -v kill|awk '{print $2}'`
    if [[ ${tpid} ]]; then
        echo "server Kill Process! ${DEPLOY_PATH}/$appName"
        kill -9 ${tpid}
    else
        echo "server Stop Success!${DEPLOY_PATH}/$appName"
    fi
}

restart() {
    stop
    sleep 10
    start
}


case "${command}" in
    start)
        start
        ;;
    stop)
        stop
        ;;
    status)
        status
        ;;
    forcekill)
        forcekill
        ;;
    restart)
        restart
        ;;
    *)
        echo "Usage: $0 {start|stop|status|forcekill|restart}"
        exit 1
esac

 

pom.xml脚本

<build>
        <finalName>${project.name}-${project.version}</finalName>
        <resources>
            <resource>
                <directory>src/main/resources</directory>
                <!-- 过滤转换参数-->
                <filtering>true</filtering>
                <includes>
                    <include>*.sh</include>
                </includes>
            </resource>
            <resource>
                <directory>src/main/resources</directory>
                <filtering>false</filtering>
                <includes>
                    <include>*.sh</include>
                </includes>
            </resource>
        </resources>
        <plugins>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>maven-antrun-plugin</artifactId>
                <version>1.8</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>run</goal>
                        </goals>
                        <phase>test</phase>
                    </execution>
                </executions>
                <configuration>
                    <tasks>
                        <echo>moving resources below target directory</echo>
                        <copy todir="{basedir}/target/ops">
                            <fileset dir="{basedir}/src/main/resources/ops" includes="**/*.yml" />
                            <fileset dir="{basedir}/src/main/resources/ops" includes="**/*.properties" />
                            <fileset dir="{basedir}/src/main/resources/ops" includes="**/logback-spring.xml" />
                        </copy>
                        <copy todir="{basedir}/target/ops">
                            <fileset dir="{basedir}/target/config/ops" includes="*.sh" />>
                        </copy>
                    </tasks>
                </configuration>
            </plugin>
            <plugin>
                <groupId>org.apache.maven.plugins</groupId>
                <artifactId>spring-boot-maven-plugin</artifactId>
                <version>2.2.7.RELEASE</version>
                <executions>
                    <execution>
                        <goals>
                            <goal>repackage</goal>
                        </goals>
                        <configuration>
                            <incldeSystemScope>true</incldeSystemScope>
                            <mainClass>com.zhianchen.sftptest.SftpSpringBootApplication</mainClass>
                        </configuration>
                    </execution>
                </executions>
            </plugin>


        </plugins>
    </build>

 

标签:grep,springboot,DEPLOY,appName,jar,echo,sh,PATH,server
From: https://www.cnblogs.com/zhian/p/18347793

相关文章

  • Springboot计算机毕业设计大学生请假系统(程序+源码+数据库+调试部署+开发环境)
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学生,教师,学院,专业,班级,请假信息,请假条,销假信息,公告信息,出勤率开题报告内容一、选题背景与意义随着高等教育的普及和学生数量的不断增加,传统的学生请假......
  • Springboot计算机毕业设计大学生档案管理系统-程序+源码
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表学生,教师,学生档案,班级成绩单,登记表,个人荣誉开题报告内容一、研究背景与意义研究背景:随着高等教育的发展,大学生人数的不断增加,学生档案信息的数量急剧增长......
  • Springboot计算机毕业设计打印助手平台21swx
    本系统(程序+源码+数据库+调试部署+开发环境)带论文文档1万字以上,文末可获取,系统界面在最后面。系统程序文件列表打印参数,用户,店铺,打印服务,打印订单开题报告内容一、项目背景与意义随着信息技术的快速发展,企业和校园中的打印服务已成为日常办公和学习中不可或缺的一部分......
  • org.apache.shiro.authc.UsernamePasswordToken
    异常2020-02-2014:31:44.490WARN12388---[nio-8091-exec-5]o.a.shiro.authc.AbstractAuthenticator:Authenticationfailedfortokensubmission[org.apache.shiro.authc.UsernamePasswordToken-null,rememberMe=false(0:0:0:0:0:0:0:1)].Possibleunexpe......
  • DockerCompose中使用自定义网络的方式实现部署SpringBoot+Mysql+Redis
    场景Docker中Docker网络-理解Docker0与自定义网络的使用示例:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140788458Docker中使用自定义网络方式实现Redis集群部署与测试流程:https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/140797109上面介绍了D......
  • springboot实战
    pom<?xmlversion="1.0"encoding="UTF-8"?><projectxmlns="http://maven.apache.org/POM/4.0.0"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://maven.apache.org......
  • 基于springboot+vue开发的垃圾分类识别系统
    背景随着社会的快速发展,计算机的影响是全面且深入的。日常生活中,“垃圾”无处不在,家庭公寓里的垃圾桶、街头巷尾的垃圾箱、城市郊区的垃圾场、校园的垃圾站点等等,你也常常会发现,垃圾处理时通常有着多种分类,随着垃圾分类的普及,用户的数量和管理员的工作量在不断增加,工作也更......
  • 基于springboot+MySQL校园社团信息管理系统的设计与实现-计算机毕设 附源码 02705
    springboot校园社团信息管理系统的设计与实现目 录摘要1绪论1.1研究背景1.2 研究意义1.3论文结构与章节安排2 校园社团信息管理系统系统分析2.1可行性分析2.2系统流程分析2.2.1数据增加流程2.2.2数据修改流程2.2.3数据删除流程2.3 系统......
  • Linux服务器配置SHH免密互通
    服务器A172.25.11.11,服务器B172.25.11.12在服务器A上配置假设服务器A的IP地址为172.25.11.11,我们将在这台服务器上生成密钥对并将公钥复制到服务器B上。生成密钥对:打开终端,执行以下命令生成密钥对。在生成过程中,你可以选择保留默认路径和设置空密码以简化使用,也可......
  • ssh 远程登录报错:Unable to negotiate with IP port 22: no matching host key type f
    最近在Mac上想要远程一台Linux服务器,结果不知怎么的就不能使用以前的ssh登录了iot@ios-iMac~%[email protected]:nomatchinghostkeytypefound.Theiroffer:ssh-rsa,ssh-dss ......