好吧...最简单的脚本,我可以这样写:
/usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | grep "Normal operation string" || echo "The site is down" | /usr/bin/mail -v -s "Site is down" your@e-mail.address
将其添加到cron中:
* * * * * /usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | grep "Normal operation string" || echo "The site is down" | /usr/bin/mail -v -s "Site is down" your@e-mail.address
但是,告诉您问题出在哪儿太简单了。
UPD:现在,这种单线检查页面上的特定字符串(“正常操作字符串”),该字符串仅在正常操作时出现。
UPD2:一种在电子邮件中发送错误页面的简单方法:
/usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | grep "Normal operation string" || /usr/bin/wget "www.example.com" --timeout 30 -O - 2>/dev/null | /usr/bin/mail -v -s "Site is down" your@e-mail.address
缺点是在第一次测试失败的情况下会重新请求页面。这次请求可能成功,您将不会看到错误。当然,可以存储输出并将其作为附件发送,但这会使脚本更加复杂。