shell脚本监控网站状态


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 = 'abc@163.com' password = 'abc' recipients = 'abc@qq.com' 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

 

 

 


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM