如果運行網(wǎng)站,你可能會遇到一些停機時間。有時,Web 服務器可能會關閉。如果我們能在服務器宕機時收到一封電子郵件,是一件非常好的事兒。
我們可以輕松安排 Linux 作業(yè),該作業(yè)會定期檢查網(wǎng)站狀態(tài)并在出現(xiàn)問題時發(fā)送電子郵件。這篇文章展示了如何創(chuàng)建一個 Linux cronjob 來檢測網(wǎng)站停機時間并發(fā)送電子郵件。
步驟 1:創(chuàng)建一個名為“downtime_detector.sh”的腳本文件。
可以在你的主目錄下創(chuàng)建該文件。將以下文本復制到創(chuàng)建的腳本文件中。
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
該腳本檢查目標網(wǎng)頁是否包含字符串“Russian Doll Envelopes”。如果頁面包含字符串,則頁面將正確呈現(xiàn)。如果沒有,則會向電子郵件地址發(fā)送一條消息。
第 2 步:在 Linux 機器上安裝“sendmail”。
“sendmail”是一種流行且可靠的工具,可以輕松設置以在 Linux 下發(fā)送電子郵件。
sudo apt-get install sendmail
第 3 步:創(chuàng)建一個 cronjob。
輸入“crontab -e”來編輯 cronjob 列表。
附加以下行:
*/5 * * * * /path/to/script/downtime_detector.sh
就是這樣。與其他在線停機檢測服務相比,這種方法非常靈活,你可以將其更改為你喜歡的任何內容。這種方法不需要額外的服務器,但如果服務器完全關閉,檢測腳本根本不會運行,那么擁有一個單獨的服務器會更好。