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