尝试制作一个shell脚本,如果IP地址出现故障,则会发送给我并发送电子邮件

时间:2011-02-07 21:56:16

标签: shell

您好 我正在尝试制作一个检查ping响应的shell脚本。如果没有回复,我希望它给我发一封电子邮件,告诉我它已关闭。

我想要做的是在我的某个开关发生故障时收到电子邮件。

这将作为cronjob btw运行 提前感谢您的帮助。

2 个答案:

答案 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满足该条件。)