服务器程序监控脚本

服务器程序监控脚本

2018-05-21 / 0 评论 / 98 阅读 / 正在检测是否收录...
温馨提示:
本文最后更新于2021年10月27日,已超过1121天没有更新,若内容或图片失效,请留言反馈。

如果服务器程序经常崩溃,那么就需要一个监控脚本了。将下面的脚本放到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

0

评论 (0)

取消