curl http接口,不是200状态发邮件进行预警
1、yum下载mailx邮件
yum install -y mailx
2、完成第一步后,在/etc/mail.rc文件新增以下内容
set from="abc@whnet.com" #可以填写发送的邮箱账号(网上是说这里随便填写,结果发不出去,坑了我半天... ) set smtp="smtphz.qiye.163.com" #邮箱的服务器地址,我这里的是163企业邮箱 set smtp-auth-user="abc@whnet.com" #发送的邮箱账号 set smtp-auth-password="AdF&hhh661T" #密码 set smtp-auth="login"
3、编写脚本
#/bin/bash
#定义curl需要监测的网址 URL=`curl -s --location --request GET 'ww.baidu.com'`
#对返回的数据进行处理,这里直返回状态码,根据每个人的需求而定 res=`echo $URL|awk -F: '{print $2}'` res2=`echo ${res%%,*}`
if [ $res2 -ne 200 ];then #如果状态码不等于200就执行以下echo,等于不做任何操作 echo "$URL" | mail -s "https://sapi.alphimall.com/appapi/homepage接口异常" mickeyliao@whuanet.com,dzl20081229@126.com fi
4、加入定时任务(一分钟监测一次)
*/1 * * * * /opt/check_url.sh
注:以上是我根据公司需求写的小脚本、这里给的是一种思路,希望能帮助到需要的人