python自动化脚本实现监控web网站发送邮件提醒并重启服务器
本篇内容主要讲解“python自动化脚本实现监控web网站发送邮件提醒并重启服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python自动化脚本实现监控web网站发送邮件提醒并重启服务器”吧!
创新互联坚持“要么做到,要么别承诺”的工作理念,服务领域包括:成都做网站、网站制作、成都外贸网站建设、企业官网、英文网站、手机端网站、网站推广等服务,满足客户于互联网时代的江城网站设计、移动媒体设计的需求,帮助企业找到有效的互联网解决方案。努力成为您成熟可靠的网络建设合作伙伴!
思路过程为:使用requests请求一个要监控的web网址,根据返回的状态值不是200或者出现异常的时候,我们发送邮件并重启服务器。接下来看代码部分,(该代码脚本使用在linux服务器中运行的web服务为例):
#!/usr/bin/env python
import os
import smtplib
import requests
#电子邮件的账号 密码
EMAIL_ADDRESS = os.environ.get('EMAIL_USER')
EMAIL_PASSWORD = os.environ.get('EMAIL_PASS')
#获取收件人的邮箱地址
EMAIL_RECEVIER = os.environ.get('EMAIL_RECEVIER')
#定义提醒用户发送邮件方法
def notify_user():
with smtplib.SMTP('smtp.qq.com', 25) as smtp:
smtp.ehlo()
smtp.starttls()
smtp.ehlo()
smtp.login(EMAIL_ADDRESS, EMAIL_PASSWORD)
subject = '您的站点崩溃了!'
body = '确保服务器已经重新启动完成。'
msg = f'主题: {subject}\n\n{body}'
smtp.sendmail(EMAIL_ADDRESS, EMAIL_RECEVIER, msg)
#定义重启服务器方法
def reboot_server():
#直接重启 linux web服务器
os.system("reboot")
try:
#比如这里监控一个网址:奕中世界
r = requests.get('https://www.liuluanyi.cn', timeout=5)
if r.status_code != 200:
notify_user()
reboot_server()
else:
# op
except Exception as e:
notify_user()
reboot_server()
我们将该脚本另存为py3_monitor.py,放在web服务器中并并且为该脚本赋予可执行权限:
chmod u+x py3_monitor.py
我们创建一个定时任务,每隔5分钟执行一次这个脚本,这里输入crontab -e
*/5 * * * * ./path/to/py3_monitor.py
至此一个简单的自动化监控脚本就算完成了,我们下节见。
到此,相信大家对“python自动化脚本实现监控web网站发送邮件提醒并重启服务器”有了更深的了解,不妨来实际操作一番吧!这里是创新互联网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!
当前名称:python自动化脚本实现监控web网站发送邮件提醒并重启服务器
标题来源:http://azwzsj.com/article/ijegep.html