使用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实现博客文章爬虫示例
Feb 26 Python
python实现各进制转换的总结大全
Jun 18 Python
python使用magic模块进行文件类型识别方法
Dec 08 Python
python绘制散点图并标记序号的方法
Dec 11 Python
python 实现将txt文件多行合并为一行并将中间的空格去掉方法
Dec 20 Python
学习python可以干什么
Feb 26 Python
简单了解Python matplotlib线的属性
Jun 29 Python
Python多线程爬取豆瓣影评API接口
Oct 22 Python
python numpy数组复制使用实例解析
Jan 10 Python
Python反爬虫伪装浏览器进行爬虫
Feb 28 Python
python tkinter 设置窗口大小不可缩放实例
Mar 04 Python
一篇文章带你搞懂Python类的相关知识
May 20 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
php字符串截取问题
2006/11/28 PHP
php heredoc和phpwind的模板技术使用方法小结
2008/03/28 PHP
php生成的html meta和link标记在body标签里 顶部有个空行
2010/05/18 PHP
php获取汉字首字母的函数
2013/11/07 PHP
PHP使用静态方法的几个注意事项
2014/09/16 PHP
php 替换文章中的图片路径,下载图片到本地服务器的方法
2018/02/06 PHP
javascript之锁定表格栏位
2007/06/29 Javascript
javascript提取URL的搜索字符串中的参数(自定义函数实现)
2013/01/22 Javascript
jQuery实现 注册时选择阅读条款 左右移动
2013/04/11 Javascript
静态页面html中跳转传值的JS处理技巧
2016/06/22 Javascript
需要牢记的JavaScript基础知识
2016/09/25 Javascript
AngularJS表单验证中级篇(3)
2016/09/28 Javascript
将json转换成struts参数的方法
2016/11/08 Javascript
JavaScript优化以及前段开发小技巧
2017/02/02 Javascript
angular第三方包开发整理(小结)
2018/04/19 Javascript
微信小程序调用微信支付接口的实现方法
2019/04/29 Javascript
小程序中英文混合排序问题解决
2019/08/02 Javascript
vue基于v-charts封装双向条形图的实现代码
2019/12/09 Javascript
浅谈Vue使用Cascader级联选择器数据回显中的坑
2020/10/31 Javascript
Python抓取百度查询结果的方法
2015/07/08 Python
简单谈谈Python流程控制语句
2016/12/04 Python
Python常用时间操作总结【取得当前时间、时间函数、应用等】
2017/05/11 Python
一些Centos Python 生产环境的部署命令(推荐)
2018/05/07 Python
python 实现将字典dict、列表list中的中文正常显示方法
2018/07/06 Python
有关Python的22个编程技巧
2018/08/29 Python
python使用hdfs3模块对hdfs进行操作详解
2020/06/06 Python
中国包裹转运寄送国际服务:Famiboat
2019/07/24 全球购物
Bloomingdale’s阿联酋:选购奢华时尚、美容及更多
2020/09/22 全球购物
优秀学生干部个人的自我评价
2013/10/04 职场文书
会计辞职信范文
2014/01/15 职场文书
高中军训感言800字
2014/03/05 职场文书
党员领导干部廉洁从政承诺书
2014/03/27 职场文书
《青山处处埋忠骨》教学反思
2014/04/22 职场文书
大学生励志演讲稿
2014/04/25 职场文书
农村优秀教师事迹材料
2014/08/27 职场文书
python解析json数据
2022/04/29 Python