服务器程序监控脚本

dhso
2018/05/21 15:33
统计中

如果服务器程序经常崩溃,那么就需要一个监控脚本了。将下面的脚本放到crontab里面,每隔1分钟检测一次即可。

版本1:如果程序不存在

#! /bin/sh

#进程名
proc_name="ngrokd"
proc_path="/usr/local/ngrok/bin/ngrokd"

#查询进程数量
proc_num()
{
    num=`ps -ef | grep $proc_path | grep -v grep | wc -l`
    return $num
}
proc_num
#获取进程数量
number=$?
echo `date '+%Y-%m-%d %H:%M:%S'` $proc_name 进程数量 $number
#如果进程数量为0
if [ $number -eq 0 ]
then
    #重新启动服务器
    /etc/init.d/$proc_name start
    echo `date '+%Y-%m-%d %H:%M:%S'` restart $proc_name success.
fi

版本2:校验网站访问失败

#! /bin/sh

#进程名 
proc_name="ngrok"

#web地址
web_url="http://www.baidu.com"
#访问
web_http_code=$(curl -o /dev/null -s -w %{http_code} $web_url)
echo `date '+%Y-%m-%d %H:%M:%S'` $web_url 状态码 $web_http_code
#如果状态码502或者404
if [ $web_http_code -eq 502 -o $web_http_code -eq 404 ]
then
    #重新启动服务器
    /Users/hadong/Codes/dsdc-ngrok-client/dsdc-mac-ngrok -config=/Users/hadong/Codes/dsdc-ngrok-client/ngrok.cfg start myapi
    echo `date '+%Y-%m-%d %H:%M:%S'` restart $proc_name success.
fi

crontab定时任务

#编辑
crontab -e

#每分钟执行一次
*/1 * * * * /root/script/ngrokd_monitor.sh > /dev/null 2>&1

#列出任务
crontab -l

本文为 dhso 原创

发布在 http://blog.minws.com/fu-wu-qi-cheng-xu-jian-kong-jiao-ben/

如有转载,请标明来源!

作者信息
姓名:dhso
热评文章
最新评论
文章概览