使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友


Posted in Python onJune 05, 2019

使用python3调用wxpy模块,监控linux日志并定时发送消息给群组或好友,具体代码如下所示:

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
from __future__ import unicode_literals
from threading import Timer
from wxpy import *
import requests
import subprocess
import time
from PIL import Image, ImageDraw, ImageFont
from apscheduler.schedulers.blocking import BlockingScheduler
#cache_path=true 表示登陆一次之后,进行缓存,下次登陆只需要手机确认
bot = Bot(console_qr=2,cache_path=True)
#获取topic是否消费延迟
def get_Lag():
  text=""
  p = subprocess.Popen('kafka-consumer-offset-checker --zookeeper 192.168.1.116 --group t_sync --topic SYNC_DATABASE_UPDATE', shell=True, stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True) #universal_newlines=True,表示输出为字符串,默认是byte
  while True:
    line =p.stdout.readline()
    if not line:
      break
    else:
      text+=line + '\n'
  return text
def get_news():
  text=[]
  count=0
  t=True
  p = subprocess.Popen('tail -F /home/hadoop/da.txt', shell=True, stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True)
  while True:
    line =str(p.stdout.readline())
    if not line:
      break
    elif "send data" in line and t:
      for item in line.split(','):
        count +=1
        if count <= 200:
           text.append(item)
      break
  return text
def get_context():
  result=""
  word=get_news()
  for i in range(len(word)):
    if(i % 4 ==0):
      result= result+word[i]+"\n"
    else:
      result= result+word[i]+"  "
  return result
def send_image():
  try:
    lags=get_Lag()
    print(lags)
    content=get_context()
#发送消费延迟的数据
    lagImage= Image.new('RGB', (1000, 600),(255,255,255))
    draw = ImageDraw.Draw(lagImage)
    font = ImageFont.truetype("/usr/share/fonts/cjkuni-ukai/ukai.ttc", 18, encoding="unic")
    draw.text((10, 10), lags, 'black', font)
    lagImage.save('/home/hadoop/lags.jpg')
#发送日志消息
    image= Image.new('RGB', (1000, 810),(255,255,255))
    draw = ImageDraw.Draw(image)
    font = ImageFont.truetype("/usr/share/fonts/cjkuni-ukai/ukai.ttc", 18, encoding="unic") #ukai.ttc 字体
    draw.text((10, 10), content, 'black', font)
    image.save('/home/hadoop/123.jpg')
 
 #发送群组
    group = bot.groups().search("大数据小组")[0]
    group.send_image('/home/hadoop/123.jpg')
 #发送好友
    my_friend = bot.friends().search(u'涛')[0]
    my_friend.send_image('/home/hadoop/lags.jpg')
    my_friend.send_image('/home/hadoop/123.jpg')
    # t = Timer(100, send_image)
    #t.start()
  except:
    my_friend.send(u"今天消息发送失败了")
if __name__ == "__main__":
  #send_image()
  scheduler = BlockingScheduler()
  scheduler.add_job(send_image, 'cron', hour='15', minute='01')
  scheduler.add_job(send_image, 'cron', hour='14', minute='58')
  scheduler.start()

总结

以上所述是小编给大家介绍的使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对三水点靠木网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!

Python 相关文章推荐
Python使用urllib2获取网络资源实例讲解
Dec 02 Python
Python Web框架Pylons中使用MongoDB的例子
Dec 03 Python
Python selenium文件上传方法汇总
Nov 19 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
Python实现1-9数组形成的结果为100的所有运算式的示例
Nov 03 Python
Windows下将Python文件打包成.EXE可执行文件的方法
Aug 03 Python
Python实现多级目录压缩与解压文件的方法
Sep 01 Python
python3的输入方式及多组输入方法
Oct 17 Python
django开发post接口简单案例,获取参数值的方法
Dec 11 Python
selenium python 实现基本自动化测试的示例代码
Feb 25 Python
如何分离django中的媒体、静态文件和网页
Nov 12 Python
python实现布隆过滤器及原理解析
Dec 08 Python
python3下载抖音视频的完整代码
Jun 05 #Python
把JSON数据格式转换为Python的类对象方法详解(两种方法)
Jun 04 #Python
Django集成搜索引擎Elasticserach的方法示例
Jun 04 #Python
python添加菜单图文讲解
Jun 04 #Python
Python3.6+Django2.0以上 xadmin站点的配置和使用教程图解
Jun 04 #Python
Python自动化之数据驱动让你的脚本简洁10倍【推荐】
Jun 04 #Python
pandas DataFrame索引行列的实现
Jun 04 #Python
You might like
文件上传程序的全部源码
2006/10/09 PHP
一个php导出oracle库的php代码
2009/04/20 PHP
利用PHP实现智能文件类型检测的实现代码
2011/08/02 PHP
symfony表单与页面实现技巧
2015/01/26 PHP
php根据命令行参数生成配置文件详解
2019/03/15 PHP
PHP架构及原理知识点详解
2019/12/22 PHP
为JS扩展Array.prototype.indexOf引发的问题探讨及解决
2013/04/24 Javascript
jQuery选择器源码解读(一):Sizzle方法
2015/03/31 Javascript
非常实用的js验证框架实现源码 附原理方法
2016/06/08 Javascript
详解JavaScript常量定义
2017/01/03 Javascript
详解redux异步操作实践
2018/08/15 Javascript
Vue.set()动态的新增与修改数据,触发视图更新的方法
2018/09/15 Javascript
微信小程序BindTap快速连续点击目标页面跳转多次问题处理
2019/04/08 Javascript
js回溯法计算最佳旅行线路代码实例
2019/09/11 Javascript
详解JavaScript 的执行机制
2020/09/18 Javascript
对vue生命周期的深入理解
2020/12/03 Vue.js
python解析xml文件实例分享
2013/12/04 Python
Python不规范的日期字符串处理类
2014/06/10 Python
Python安装第三方库的3种方法
2015/06/21 Python
基于进程内通讯的python聊天室实现方法
2015/06/28 Python
PyQt4实现下拉菜单可供选择并打印出来
2018/04/20 Python
实例讲解python中的序列化知识点
2018/10/08 Python
Python文件循环写入行时防止覆盖的解决方法
2018/11/09 Python
Python实现的统计文章单词次数功能示例
2019/07/08 Python
python提取xml里面的链接源码详解
2019/10/15 Python
海淘零差价,宝贝全球购: 宝贝格子
2016/08/24 全球购物
影视艺术学院毕业生自荐信
2013/11/13 职场文书
师范应届生求职信
2013/11/15 职场文书
物理教师自荐信范文
2013/12/28 职场文书
车辆转让协议书
2014/04/15 职场文书
文明倡议书范文
2014/04/15 职场文书
2014年党课学习心得体会
2014/07/08 职场文书
门面房租房协议书
2014/08/20 职场文书
酒店前台岗位职责
2015/04/16 职场文书
违纪开除通知书
2015/04/25 职场文书
剑指Offer之Java算法习题精讲二叉树的构造和遍历
2022/03/21 Java/Android