监控服务器

监控服务器

我想监控三个服务器页面。这三个页面包含一个简单的文本(例如,它说它“工作正常”)。当显示除此消息之外的任何内容时(例如通过电子邮件),我希望收到通知。

我想要 shell 脚本代码来在 html 文件中显示三个页面的状态。

答案1

如果您的页面是正确的 HTML 页面并且您不想解析它,您可能需要先使用lynx(老式的文本浏览器)将 HTML 呈现为纯文本(使用标志--dump):

for lnk in http://foo.example.com \
           http://bar.example.com \
           http://stats.example.com/stillrunning.html
do
   lynx --dump "${lnk}" \
   | grep "working fine" \
   || mailx -s "${lnk} failed" [email protected]
done

答案2

您可以使用其中一个curlwget与来bash完成您想要的事情。

$ wget -O- http://example.com | grep "working fine" || mailx -s "Oh NO" you ...

相关内容