服务状态健康检测

  • A+
所属分类:Shell
又拍云upyun

在大量服务器集群的环境下,有时某台服务器服务异常退出,导致一些访问请求出错。需要对当前的运行的服务进行检测,如有退出就自动启动。然而cron任务最小频率在分钟级别,这显然有点长。下面这个脚本是在秒级对服务进行健康检测。

[codesyntax lang="bash"]

#!/bin/bash

i=0

interval=3

count=$[60/$interval]   # $[]只能进行整数运算

while [ $i -lt $count ]

do

nginx_arr=(pgrep nginx)

if [ ${#nginx_arr[@]} == 0 ]; then

nginx  -c  /usr/local/nginx/etc/nginx.conf >/dev/null   2>&1

fi

((i++))

sleep $interval

done

[/codesyntax]

weinxin
微信公众号
扫一扫关注运维生存时间公众号,获取最新技术文章~
默北

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: