python发送邮件并返回提示_python自动化脚本之监控web网站发送邮件提醒并重启服务器...

今天来学一个真实的案例监控一个网站的运行状态,如果网站因为其他原因导致无法响应和访问,我们将发送电子邮件提醒管理员并重启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

至此一个简单的自动化监控脚本就算完成了,我们下节见。

关注公号

下面的是我的公众号二维码图片,欢迎关注。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值