前面已经写过Python3发邮件,Python发微信的文章了。直接导入即可。

import configparser,requests
from time import sleep
import WeChat,Mail,datetime class checkurl(object):
def __init__(self,file):
self.file=file
self.cfg=configparser.ConfigParser() def cfg_load(self):
self.cfg.read(self.file)
self.allurl=self.cfg.items('yuming')
self.reload=self.cfg.get('time','reload')
self.mailto=self.cfg.items('mailto') def sendmessage(self,errinfo):
wechat.send('@all',errinfo)
for key,values in self.mailto:
mail.send(values,errinfo,'url访问失败报警') def senderror(self,errcont):
enow=datetime.datetime.now()
now=enow.strftime('%Y-%m-%d %H:%M:%S')
errfile=open('url.log','a')
errfile.write(now)
errfile.write(str(errcont))
errfile.write('\n')
errfile.close() def cfg_dump(self):
while True:
for k,v in self.allurl:
checknum=0
#设置重试错误次数
while checknum < 5:
try:
res=requests.get(v,timeout=20)
print(v,res.status_code)
res.close()
if res.status_code >= 400:
errinfo=v+' '+str(res.status_code)
self.sendmessage(errinfo)
self.senderror(errinfo)
break
except:
errinfo=v+' is error'
print(errinfo+'\r\n请稍等,正在第',checknum+1,'次重试...')
sleep(1)
if checknum == 4:
print('重试仍然无法连接,正在发送微信和邮件报警...')
self.sendmessage(errinfo)
self.senderror(errinfo)
checknum=checknum+1
print('-----------------------------------')
nextcheck=0
while nextcheck < int(self.reload):
print('距离下次检测还剩',int(self.reload)-nextcheck,'秒')
sleep(1)
nextcheck=nextcheck+1 if __name__ =='__main__':
mail=Mail.sendmail()
wechat=WeChat.WeChat()
check=checkurl('yuming.ini')
check.cfg_load()
check.cfg_dump()

  

下面是yuming.ini的配置

[yuming]
yuming1=https://www.baidu.com
yuming2=http://www.qq.com
yuming3=http://www.163.com [time]
reload=60 [mailto]
mail1=guoyabin@ccln.gov.cn
mail2=guoyabin@bj1921.com

  

python3监控网站状态的更多相关文章

  1. shell脚本监控网站状态

    shell脚本监控网站状态 #!/bin/sh date=`date +"%Y%m%d-%H%M"` title="status" contentFail=&q ...

  2. shell批量监控网站状态码

    shell批量监控网站状态码脚本,使用curl很慢.等我学完其他方式,在来更新. #!/bin/bash #GuoYabin yuming=`/bin/cat yuming.txt` for i in ...

  3. linux shell脚本: 自动监控网站状态并发送提醒邮件

    1.创建监控脚本:$ vi /alidata/shell/webcheck.sh #!/bin/sh weblist="/alidata/shell/weblist.txt" my ...

  4. 监控Linux服务器网站状态的SHELL脚本

    1,监控httpd状态码的shell脚本代码. #!/bin/sh #site: www.jquerycn.cn # website[0]=www.jquerycn.cn/chuzu/' #网站1 m ...

  5. shell+curl监控网站页面(域名访问状态),并利用sedemail发送邮件

    应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...

  6. shell+curl监控网站页面(域名访问状态),并利用sendemail发送邮件

    应领导要求,对公司几个主要站点的域名访问情况进行监控.下面分享一个监控脚本,并利用sendemail进行邮件发送. 监控脚本如下:下面是写了一个多线程的网站状态检测脚本,直接从文件中读出站点地址,然后 ...

  7. 巧妙使用Firebug插件,快速监控网站打开缓慢的原因

    原文 巧妙使用Firebug插件,快速监控网站打开缓慢的原因 很多用户会问,我的网站首页才50KB,打开网页用了近60秒才打开?如何解释? 用户抱怨服务器运行缓慢,w3wp.exe 出现 CPU 10 ...

  8. MegaCli 监控raid状态 限戴尔服务器

    MegaCli 监控raid状态 MegaCli是一款管理维护硬件RAID软件,可以通过它来了解当前raid卡的所有信息,包括 raid卡的型号,raid的阵列类型,raid 上各磁盘状态,等等.通常 ...

  9. MegaCli 监控raid状态

    MegaCli 监控raid状态 http://blog.chinaunix.net/uid-25135004-id-3139293.html 简介 MegaCli是一款管理维护硬件RAID软件,可以 ...

随机推荐

  1. kafka学习笔记(六)kafka的controller模块

    概述 今天我们主要看一下kafka的controller的代码,controller代码是kafka的非常重要的代码,需要我们深入学习.从某种意义上来说,它是kafka最核心的组件,一方面,他要为集群 ...

  2. Linux基础之终端、控制台、tty、pty简介说明

    最近在搞Linux提权的时候,有时候su 用户名 登录的时候发现登录不了,因为tty终端,交互不了,所以我也来总结一下 一. 基本概念 1. ttytty(终端设备的统称):tty一词源于telety ...

  3. Idea操作Maven详细使用:

    Idea操作Maven详细使用: Maven简介 什么是 Maven Maven 的正确发音是[ˈmevən] "卖v",而不是"马瘟"以及其他什么瘟. Mav ...

  4. 五天学完MySQL打卡挑战 day01

    明天继续上传学习笔记和练习的Word文档 晚安~

  5. Fastjson反序列化漏洞分析 1.2.22-1.2.24

    Fastjson反序列化漏洞分析 1.2.22-1.2.24 Fastjson是Alibaba开发的Java语言编写的高性能JSON库,用于将数据在JSON和Java Object之间互相转换,提供两 ...

  6. Spring 官宣发布 Spring Boot 3.0 第一个里程碑 M1,从 Java 8 提升到 Java 17!

    Spring官方于2022年1月20日发布Spring Boot 3.0.0-M1版本,预示开启了Spring Boot 3.0的里程碑,相信这是通往下一代Spring框架的激动人心的旅程. 接下来一 ...

  7. golang中的排序算法实现

    1. 冒泡排序算法实现 package main import "fmt" func main() { values := []int{3, 98, 55, 46, 22, 3, ...

  8. golang中for循环的常用用法

    package main import "fmt" func main() { //printFormula() // 打印九九乘法表 //printLeftTriangle() ...

  9. PaperRead - A Shader Framework for Rapid Prototyping of GPU-Based Volume Rendering

    PaperRead - A Shader Framework for Rapid Prototyping of GPU-Based Volume Rendering 目录 PaperRead - A ...

  10. macOS Monterey 12.12.2 (21D49) 正式版 ISO、IPSW、PKG 下载

    本站下载的 macOS Monterey 软件包,既可以拖拽到 Applications(应用程序)下直接安装,也可以制作启动 U 盘安装,或者在虚拟机中启动安装. 2022 年 1 月 27 日,m ...