[alert class="success"]等有时间再贴图,先直接上代码[aru_15][/alert]
pingcheck.sh
#!/bin/bash #Blog:http://hacka.cn for ip in $(cat /app/yunwei/ping/ip_list.txt|sed "/^#/d") #ip_list.txt是当前目录下IP表,如果路径不对,自己改 do ping -c 1 $ip &>/dev/null #三个ping有一个能通,说明服务器正常 a=$? sleep 2 ping -c 1 $ip &>/dev/null b=$? sleep 2 ping -c 1 $ip &>/dev/null c=$? sleep 2 DATE=$(date +%F" "%H:%M) if [ $a -ne 0 -a $b -ne 0 -a $c -ne 0 ];then echo -e "Date : $DATE\nHost : $ip\nProblem : Ping is failed." function SendMessageToDingding(){ url="https://oapi.dingtalk.com/robot/send?access_token=xxxxxxxx" #token 我想你们会获取的吧https://open-doc.dingtalk.com/microapp/serverapi2/qf2nxq UA="Mozilla/5.0 (Windows NT 6.2; WOW64) AppleWebKit/535.24 (KHTML, like Gecko) Chrome/19.0.1055.1 Safari/535.24" res=`curl -XPOST -s -L -H "Content-Type:application/json" -H "charset:utf-8" $url -d " { \"msgtype\": \"text\", \"text\": { \"content\": \"=====pingcheck通知=====\nDate : $DATE\nHost : $ip\nProblem : Ping is failed.\" }, \"at\": { \"atMobiles\": ["156***5396", "156], \"isAtAll\": false } }"` #填群里的手机号,才能艾特到,为空就是不艾特 #isAtAll是艾特全体的开关,true/false ,你们懂的 echo $res } SendMessageToDingding fi done
[alert class="danger"]好吧,还有一件事,别忘记新建ip_list.txt[/alert][wb_笑而不语]
19 条评论
在?博客都长草了
我我我。。我写还不行嘛
ip太多后面加上标题怎么弄
直接变量吧,因为钉钉机器人的通知只有这个接口,只有内容,没得标题,所以可以考虑在内容里加标题产量?
是不是可以在ip列表后面加上服务器名称,在取这个值,断网了可以发消息,恢复了也能发送吧??
重点是content内的内容
content 里面如何添加已经获取到的ip后面的名称
192.168.0.2 服务器
脚本里加判断变量吧 如果为$ip=192.168.0.2 则 $ipname = 192.168.0.2【服务器】 输出的时候用$ipname 只能这样
应搞定了
加的判断嘛?
加得 Title=$(sed -n "/$ip/"p /home/ip.txt | awk '{print $2}')
[aru_53]
现在只有ping不通会有报警 恢复了不会有提示的[aru_88]
我看了不少网站,博主的网站写的不错,收藏了哈,经常来看,有空我们一起做个友qing链jie呗,我的是:www.jw61.com 深圳网站建设,等着你哦。
{"errmsg":"缺少参数 json","errcode":40035}
看看 res内容有没有问题
显示no url specified
我能不能说最近出差忙[aru_15]
又发现一个几个月不更新的 [aru_4]