IT源码网

shell脚本监控网站状态讲解

qq123 2021年01月14日 程序员 237 0

shell脚本监控网站状态

#!/bin/sh 
 
date=`date +"%Y%m%d-%H%M"` 
title="status" 
contentFail="status is not ok:" 
contentSuccess="status is ok:" 
url="https://www.abc.com" 
status=`curl -m 20 -s -I $url | grep HTTP | awk '{print $2}'` 
 
#echo "status: $status" 
 
cd /data/shell 
laststatus=`cat status.log` 
 
if [ "$status" == "200" ] 
    then 
        if [ "$laststatus" != 200 ] 
            then 
                /usr/bin/python /shell/mail.py "$title" "$contentSuccess $url $date $status" 
                echo "200" > status.log 
        fi 
else 
    if [ "$laststatus" == 200 ] 
        then 
            /usr/bin/python /shell/mail.py "$title" "$contentFail $url $date $status" 
            echo "$status" > status.log 
    fi 
fi

 mail.py

from email.header import Header 
from email.mime.text import MIMEText 
import smtplib 
import sys 
 
def sendmail(subject, content): 
    sender = '[email protected]' 
    password = 'abc' 
    recipients = '[email protected]' 
    host = 'smtp.abc.com' 
    msg = MIMEText(content, 'plain', 'utf-8') 
    msg['From'] = sender 
    msg['To'] = recipients 
    msg['Subject'] = Header(subject, 'utf-8').encode() 
    server = smtplib.SMTP_SSL(host, 465) 
    server.login(sender, password) 
    server.sendmail(sender, [recipients], msg.as_string()) 
    server.quit() 
 
 
sendmail(sys.argv[1],sys.argv[2])

 设置定时任务

crontab -e
*/2 * * * * /shell/status.sh

 

 

 

发布评论
IT源码网

微信公众号号:IT虾米 (左侧二维码扫一扫)欢迎添加!

CentOS安装php及其扩展讲解
你是第一个吃螃蟹的人
发表评论

◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。