当前位置:   article > 正文

linux 监控端口 崩溃重启_linux端口监听不正常,怎么启动服务

linux端口监听不正常,怎么启动服务

shell脚本后台运行,每分钟循环一次,监听端口是否被占用,没占用代表程序崩溃,于是重启程序

  1. #!/bin/bash
  2. #日志文件
  3. INF0_LOG_FILE="./info.log"
  4. ERR_LOG_FILE="./err.log"
  5. #监听时间间隔
  6. SLEEP_TIME="60s"
  7. time=$(date "+%Y-%m-%d %H:%M:%S")
  8. # 监听端口
  9. # $1端口 $2重启命令
  10. function monitorPort() {
  11. #查询端口占用
  12. lsof -i:$1
  13. # $? -ne 0 不存在 $? -eq 0存在
  14. if [ $? -ne 0 ]
  15. then
  16. echo 端口 $1 没启动 >> $INF0_LOG_FILE
  17. echo $time 端口 $1 没启动 >> $ERR_LOG_FILE
  18. echo 端口 $1 准备启动 >> $INF0_LOG_FILE
  19. eval $2
  20. sleep 5
  21. time=$(date "+%Y-%m-%d %H:%M:%S")
  22. lsof -i:$1
  23. if [ $? -ne 0 ]
  24. then
  25. echo 端口 $1 启动成功 >> $INF0_LOG_FILE
  26. echo $time 端口 $1 启动成功 >> $ERR_LOG_FILEs
  27. else
  28. echo 端口 $1 启动失败 >> $INF0_LOG_FILE
  29. echo $time 端口 $1 启动失败 * >> $ERR_LOG_FILE
  30. fi
  31. else
  32. echo 端口 $1 正常 >> $INF0_LOG_FILE
  33. fi
  34. }
  35. #脚本开始**********************************************************
  36. #-e增加转义功能 \n
  37. echo -e "\n\n"$(date "+%Y-%m-%d %H:%M:%S") "脚本启动 *********************\n\n" >> $INF0_LOG_FILE
  38. while true
  39. do
  40. time=$(date "+%Y-%m-%d %H:%M:%S")
  41. echo -e "\n"$time " -----------------------------------------" >> $INF0_LOG_FILE
  42. monitorPort 8084 "nohup java -jar /usr/local/springboot/youxi/springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod --server.port=8084 >/dev/null 2>&1 &"
  43. monitorPort 8085 "nohup java -jar /usr/local/springboot/youxi/springboot-0.0.1-SNAPSHOT.jar --spring.profiles.active=prod --server.port=8085 >/dev/null 2>&1 &"
  44. sleep $SLEEP_TIME
  45. done

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/85753
推荐阅读
相关标签
  

闽ICP备14008679号