加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

bash – 自动测试网站是否可用的脚本

发布时间:2020-12-15 18:43:01 所属栏目:安全 来源:网络整理
导读:我是一个单独的Web开发人员,拥有自己的Centos VPS,为我的客户托管一些小型网站.今天我发现我的httpd服务已停止(没有明显的原因 – 但这是另一个线程).我重新启动它但现在我需要找到一种方法,如果它再次发生我可以通过电子邮件和/或短信通知 – 我不喜欢它,当
我是一个单独的Web开发人员,拥有自己的Centos VPS,为我的客户托管一些小型网站.今天我发现我的httpd服务已停止(没有明显的原因 – 但这是另一个线程).我重新启动它但现在我需要找到一种方法,如果它再次发生我可以通过电子邮件和/或短信通知 – 我不喜欢它,当我的客户打电话告诉我他们的网站不起作用!

我知道可能存在许多不同的可能性,包括服务器监控软件.我认为我真正需要的是一个脚本,我可以从我的开发主机(在我的办公室中永久运行)作为cron作业运行,尝试从我的生产服务器加载页面,如果它没有在30内加载然后,它会向我发送电子邮件或短信.我对shell脚本非常垃圾,因此这个问题.

任何建议将不胜感激.

嗯…最简单的脚本,我写道:
/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

它是否为在第一次测试失败时重新请求页面.这次请求可能成功,您将看不到错误.当然,可以存储输出并将其作为附件发送,但它会使脚本更复杂.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读