2017年8月5日星期六

Linux 下实现Ping不通对方时发微信提醒

新版教程:
利用server酱,假设ping不通,则发微信到手机。

首先注册server酱,手机关注上。浏览器地址栏测试发信息能不能手机收到,

例如在浏览器输入
https://sc.ftqq.com/SCU5214T2a9c0a75ef888874b3d542987998a3587b2358cf6f1.send?text=v1服务器挂掉啦

测试手机能不能收到微信,能则跟着做下一步;

然后

etc下新建一个ping.sh
内容如下

#!/bin/bash
# blog:http://lizhenliang.blog.51cto.com

IP_LIST="3322.3322.net"
for IP in $IP_LIST; do
    NUM=1
    while [ $NUM -le 10 ]; do
        if ping -c 1 $IP > /dev/null; then
            echo "$IP Ping is successful."
            break
        else
            # echo "$IP Ping is failure $NUM"
            FAIL_COUNT[$NUM]=$IP
            let NUM++
        fi
    done
    if [ ${#FAIL_COUNT[*]} -eq 10 ];then
        w3m -no-cookie -dump "https://sc.ftqq.com/SCU5****f6f1.send?text=server Ping is failure"
        unset FAIL_COUNT[*]
    fi
done


脚本内容为执行10个ping,1次都不能ping通,则执行w3m内容,内容为用server酱发信息。

红字的要改成你要ping的网站,以及你的server酱信息;

最后ssh输入crontab -e
nano输入

* */1 * * * /etc/ping.sh

代表每1小时执行一次脚本。
最后重启服务。








-------------以下老文章------------------------












思路是:服务器每3小时运行脚本1次:ping3次服务器,1次都不通,则执行reqtest1.php

首先需要开微信公众号,然后自己关注,看此教程,
http://www.arduino.cn/thread-19388-1-1.html
最后制作属于你的reqtest1.php

执行reqtest1.php文件,你手机的微信就会收到你建的公众号讯息。


实现方法:
apt-get install w3m
安装w3m文本浏览器

然后把下面的保存到etc/ping.sh
#!/bin/bash
ping -c 3 3322.f3322.net &> /dev/null
code=$?
if [ "$code" -ne "0" ];then
w3m -no-cookie -dump "http://yourweb.net/reqtest1.php?msg=Serveroffline"
fi


效果为ping 3322.f3322.net 3次
如果1次都不通,则执行http://yourweb.net/reqtest1.php?msg=Serveroffline
你手机微信就收到公众号的一条讯息。


最后做每3小时一次的计划任务:
输入crontab -e
nano版
输入
* */3 * * * /etc/ping.sh
ctrl+o保存,ctrl+x退出



设置debian/ubuntu 2分钟后 定时重启

 #使用以下命令,安装at并安排系统在两分钟后执行重启: apt-get install at -y && echo "shutdown -r now" | sudo at now + 2 minutes