您好 我正在尝试制作一个检查ping响应的shell脚本。如果没有回复,我希望它给我发一封电子邮件,告诉我它已关闭。
我想要做的是在我的某个开关发生故障时收到电子邮件。
这将作为cronjob btw运行 提前感谢您的帮助。
答案 0 :(得分:0)
这未经过测试,但它应该让您知道如何解决这个问题:
ping -c 1 <SOME IP> | grep "1 received" || echo "I lost connection" | mail -s "link is down!!" you@example.com
答案 1 :(得分:0)
我不知道ping的返回值是否标准化,因此请查看ping的文档,但如果ping返回合理的值,那么您可以这样做:
while ping -c 1 $IP; do sleep $TIMEOUT done mail -s "$IP is down" email@address
(“合理值”表示如果收到至少一个响应则为零.BSD ping满足该条件。)