App下載

使用 Linux cron 作業(yè)自動檢測服務(wù)器停機時間

宇宙冰可樂 2021-09-04 16:13:55 瀏覽數(shù) (2366)
反饋

如果運行網(wǎng)站,你可能會遇到一些停機時間。有時,Web 服務(wù)器可能會關(guān)閉。如果我們能在服務(wù)器宕機時收到一封電子郵件,是一件非常好的事兒。

我們可以輕松安排 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)建該文件。將以下文本復(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

該腳本檢查目標網(wǎng)頁是否包含字符串“Russian Doll Envelopes”。如果頁面包含字符串,則頁面將正確呈現(xiàn)。如果沒有,則會向電子郵件地址發(fā)送一條消息。

第 2 步:在 Linux 機器上安裝“sendmail”。

“sendmail”是一種流行且可靠的工具,可以輕松設(shè)置以在 Linux 下發(fā)送電子郵件。

sudo apt-get install sendmail

第 3 步:創(chuàng)建一個 cronjob。

輸入“crontab -e”來編輯 cronjob 列表。

附加以下行:

*/5 * * * * /path/to/script/downtime_detector.sh

就是這樣。與其他在線停機檢測服務(wù)相比,這種方法非常靈活,你可以將其更改為你喜歡的任何內(nèi)容。這種方法不需要額外的服務(wù)器,但如果服務(wù)器完全關(guān)閉,檢測腳本根本不會運行,那么擁有一個單獨的服務(wù)器會更好。


0 人點贊