使用 Linux cron 作业自动检测服务器停机时间
2021-09-04 16:13:55
浏览数 (2641)
如果运行网站,你可能会遇到一些停机时间。有时,Web 服务器可能会关闭。如果我们能在服务器宕机时收到一封电子邮件,是一件非常好的事儿。
我们可以轻松安排 Linux 作业,该作业会定期检查网站状态并在出现问题时发送电子邮件。这篇文章展示了如何创建一个 Linux cronjob 来检测网站停机时间并发送电子邮件。
步骤 1:创建一个名为“downtime_detector.sh”的脚本文件。
可以在你的主目录下创建该文件。将以下文本复制到创建的脚本文件中。
if curl -s "http://www.programcreek.com/2016/08/leetcode-russian-doll-envelopes-java/" | grep -q "Russian Doll Envelopes" then # if the keyword is in the content echo " the website is working fine" else echo "Program Creek Error" | /usr/sbin/sendmail youremail@gmail.com fi
该脚本检查目标网页是否包含字符串“Russian Doll Envelopes”。如果页面包含字符串,则页面将正确呈现。如果没有,则会向电子邮件地址发送一条消息。
第 2 步:在 Linux 机器上安装“sendmail”。
“sendmail”是一种流行且可靠的工具,可以轻松设置以在 Linux 下发送电子邮件。
sudo apt-get install sendmail
第 3 步:创建一个 cronjob。
输入“crontab -e”来编辑 cronjob 列表。
附加以下行:
*/5 * * * * /path/to/script/downtime_detector.sh
就是这样。与其他在线停机检测服务相比,这种方法非常灵活,你可以将其更改为你喜欢的任何内容。这种方法不需要额外的服务器,但如果服务器完全关闭,检测脚本根本不会运行,那么拥有一个单独的服务器会更好。