shell脚本自动检测接口业务
PHP在线
共 1326字,需浏览 3分钟
·
2022-03-17 03:08
大家好,我是阿峰,目前在一家创业公司上班,公司刚刚起步运维是短板,有许多需要完善的工作,比如业务中断是客户第一时间发现并反馈回来很是被动。针对该问题进行分析发现是请求接口返回502导致的,于是决定从接口入手,使用shell脚本轮询检测接口是否正常,异常情况发送短信通知给技术,技术可以在第一时间进行问题定位,以达到快速解决的目的。
#!/bin/bash
#Author:
#设置变量,url为你需要检测的目标网站的网址(IP或域名)
#入口检测
url=https://k.baidu.com/mogaiapi.php/v1.main/in
#数据接口检测
otherurl=https://k.baidu.com/mogaiapi.php/v1.vod/types
#定义函数check_http:
#使用curl命令检查http服务器的状态
#-m设置curl不管访问成功或失败,最大消耗的时间为5秒,5秒连接服务为相应则视为无法连接
#-s设置静默连接,不显示连接时的连接速度、时间消耗等信息
#-o将curl下载的页面内容导出到/dev/null(默认会在屏幕显示页面内容)
#-w设置curl命令需要显示的内容%{http_code},指定curl返回服务器的状态码
check_http(){
status_code=$(curl -m 5 -s -o /dev/null -w %{http_code} $url)
other_code=$(curl -m 5 -s -o /dev/null -w %{http_code} $otherurl)
}
while :
do
check_http
if [ $status_code -ne 200 ]
then
#echo "$url入口连接异常$status_code"
curl -d "token=XDjd" https://api.baidu.com/api.php/user/customsms
fi
if [ $other_code -ne 200 ]
then
#echo "$url连接异常$other_code"
curl -d "token=XDjd" https://api.baidu.com/api.php/user/customsms
fi
sleep 5
done
最后,别忘了设置开机自启动
$ chmod +x auto_run_script.sh
然后,我们再将脚本添加到 /etc/rc.d/rc.local 文件最后一行:
$ vim /etc/rc.d/rc.local
/home/alvin/auto_run_script.sh
评论