zoukankan      html  css  js  c++  java
  • 在linux系统中创建开机自启动应用和应用自启脚本

    在linux系统中创建开机自启动应用和应用自启脚本。脚本如下:

    start.sh   --启动目标应用的脚本

    keeper.sh   --循环自启目标应用脚本,用于应用进程挂掉后的自启

    install.sh   --应用安装脚本,第一次部署应用时执行

    start.sh

    #!/bin/sh
    #指定后台日志目录及日志文件名
    logfilePath="/home/myapp/logs/"
    logfileName=$logfilePath"nohup.log"
    #如果不存在则创建
    if [ ! -d "$logfilePath" ]; then
      mkdir -p "$logfilePath"
      touch "$logfileName"
    fi
    #启动目标应用脚本【需要修改】 nohup java
    -jar /home/myapp/myapp-0.0.1-SNAPSHOT.jar --spring.config.location=/home/myapp/config/application.properties >/home/myapp/logs/nohup.log 2>&1 &

    keeper.sh

    #!/bin/sh
    #应用bin目录【需要修改】
    appStartFile="/home/didi/bin/start.sh"
    #应用进程名称【需要修改】
    progressName="didijoin-0.0.1-SNAPSHOT.jar"
    while true;do
    #目标应用进程名称【需要修改】
    PIDS=`ps -ef|grep $progressName | grep -v grep|awk '{print $2}'`
    if [ "$PIDS" = "" ];then
    echo "the program[$progressName] is not running,restart it!"
    echo "restart..."
    sh "$appStartFile"
    fi
    sleep 3
    done

    install.sh

    #!/bin/sh
    #keeper.sh文件完整目录【需要修改】
    keeperFilePath="/home/myapp/bin/keeper.sh"
    #程序名称【需要修改】
    echo "install program[myapp]..."
    #向rc/local文件末尾追加启动keeper任务的脚本
    echo "sh $keeperFilePath">>/etc/rc.local
    echo "install program success!"
    echo "start program..."
    #日志目录【需要修改】
    nohup sh "$keeperFilePath" >/home/myapp/logs/install.log 2>&1 &
    echo "start program success!"
  • 相关阅读:
    Endnote
    C#在子线程Thread中使用await会出问题
    httpwebrequest抓取网页数据非字符串时要使用流直接写文件
    此流不支持查找操作
    http请求头中Referer的含义和作用
    C# Net Core 使用 ClientWebSocket 实现 WebSocket 客户端
    C# 实现WebSocket服务端实例
    WebSocket 协议初探
    WebSocket技术
    WebSocket的使用
  • 原文地址:https://www.cnblogs.com/franson-2016/p/15113388.html
Copyright © 2011-2022 走看看