shell 监控网站是否正常,如果异常发送邮件提醒


shell需求:
写一个shell脚本,通过curl -I 返回状态码来判定所访问的网站是否正常,例如当代码状态为200时为正常,当网站不正常时脚本自动发送邮件提醒。


shell分析:
1.从判定结果中截取出代码状态。
2.编辑判定脚本中使用curl -I 命令测试,然后通过awk截取状态代码。
3.写发送邮件的脚本,用sendEmail(生产环境有配套的模板)。
4.将判定与发送邮件关联起来。


以www.51xit.top为例,先使用curl -I 命令测试:
shell 监控网站是否正常,如果异常发送邮件提醒
200就是我们要截取代码状态





具体步骤:


1.安装邮件组件。

[[email protected] ~]# wget http://caspian.dotconf.net/menu/Software/SenEmail-v1.56.tar.gz
[[email protected] ~]# tar -zxvf sendEmail-v1.56.tar.gz
[[email protected] ~]# cp sendEmail-v1.56/sendEmail /usr/local/bin/
[[email protected] ~]# chmod 755 /usr/local/bin/sendEmail



2.编辑发邮件脚本

shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒


3.编辑判断脚本。
shell 监控网站是否正常,如果异常发送邮件提醒


4.测试。
先用发邮件的脚本,输入接收的邮箱,本次实验用的是qq邮箱。
shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒
邮箱接收到了脚本发送的邮件,脚本执行成功。




接下来我们执行判断的脚本。
shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒
邮箱并没有收到脚本发送的邮件,说明网站是正常的。





如果收到了脚本发送的邮件,说明网站异常。
shell 监控网站是否正常,如果异常发送邮件提醒
shell 监控网站是否正常,如果异常发送邮件提醒