温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python自动化脚本实现监控web网站发送邮件提醒并重启服务器

发布时间:2021-09-04 22:52:01 来源:亿速云 阅读:219 作者:chen 栏目:大数据

本篇内容主要讲解“python自动化脚本实现监控web网站发送邮件提醒并重启服务器”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“python自动化脚本实现监控web网站发送邮件提醒并重启服务器”吧!

思路过程为:使用requests请求一个要监控的web网址,根据返回的状态值不是200或者出现异常的时候,我们发送邮件并重启服务器。接下来看代码部分,(该代码脚本使用在linux服务器中运行的web服务为例):


#!/usr/bin/env pythonimport osimport smtplibimport 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:        # opexcept 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网站发送邮件提醒并重启服务器”有了更深的了解,不妨来实际操作一番吧!这里是亿速云网站,更多相关内容可以进入相关频道进行查询,关注我们,继续学习!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI