使用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中标准库OS的常用方法总结大全
Jul 19 Python
Python给你的头像加上圣诞帽
Jan 04 Python
python web.py开发httpserver解决跨域问题实例解析
Feb 12 Python
python学生信息管理系统
Mar 13 Python
Python使用xlwt模块操作Excel的方法详解
Mar 27 Python
利用python提取wav文件的mfcc方法
Jan 09 Python
Python实现图片裁剪的两种方式(Pillow和OpenCV)
Oct 30 Python
python实现自动化报表功能(Oracle/plsql/Excel/多线程)
Dec 02 Python
Python实现图片识别加翻译功能
Dec 26 Python
Tensorflow:转置函数 transpose的使用详解
Feb 11 Python
浅谈Python中threading join和setDaemon用法及区别说明
May 02 Python
Python selenium的这三种等待方式一定要会!
Jun 10 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采集利器 Snoopy 试用心得
2011/07/03 PHP
PHP+jquery+ajax实现即时聊天功能实例
2014/12/23 PHP
php连接odbc数据源并保存与查询数据的方法
2014/12/24 PHP
php实现的后台表格分页功能示例
2017/10/23 PHP
PHP addslashes()函数讲解
2019/02/03 PHP
JQuery AJAX实现目录浏览与编辑的代码
2008/10/21 Javascript
js仿百度贴吧验证码特效实例代码
2014/01/16 Javascript
从零学JS之你需要了解的几本书
2014/05/19 Javascript
基于ajax实现文件上传并显示进度条
2015/08/03 Javascript
JS给按钮添加跳转功能类似a标签
2017/05/30 Javascript
详解Node 定时器
2018/02/26 Javascript
VSCode中如何利用d.ts文件进行js智能提示
2018/04/13 Javascript
JS/HTML5游戏常用算法之碰撞检测 包围盒检测算法详解【凹多边形的分离轴检测算法】
2018/12/13 Javascript
countup.js实现数字动态叠加效果
2019/10/17 Javascript
详解JavaScript 异步编程
2020/07/13 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
python实现搜索本地文件信息写入文件的方法
2016/02/22 Python
Python3 queue队列模块详细介绍
2018/01/05 Python
python实现微信发送邮件关闭电脑功能
2018/02/22 Python
python3+PyQt5重新实现QT事件处理程序
2018/04/19 Python
Python后台开发Django的教程详解(启动)
2019/04/08 Python
使用Python opencv实现视频与图片的相互转换
2019/07/08 Python
django云端留言板实例详解
2019/07/22 Python
Python字符串格式化f-string多种功能实现
2020/05/07 Python
matplotlib 三维图表绘制方法简介
2020/09/20 Python
CSS3混合模式mix-blend-mode/background-blend-mode简介
2018/03/15 HTML / CSS
CSS+jQuery实现的在线答题功能
2015/04/25 HTML / CSS
HTML5手指下滑弹出负一屏阻止移动端浏览器内置下拉刷新功能的实现代码
2020/04/10 HTML / CSS
Stylenanda中文站:韩国一线网络服装品牌
2016/12/22 全球购物
东方红海科技面试题软件测试方面
2012/02/08 面试题
公司行政经理岗位职责
2013/12/24 职场文书
汽车销售经理岗位职责
2014/06/09 职场文书
会计系毕业求职信
2014/08/07 职场文书
个人诉讼委托书范本
2014/10/17 职场文书
2015年暑期社会实践活动总结
2015/03/27 职场文书
详解Python+OpenCV进行基础的图像操作
2022/02/15 Python