使用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设计模式之策略模式
Nov 18 Python
Flask数据库迁移简单介绍
Oct 24 Python
python3学习笔记之多进程分布式小例子
Feb 13 Python
利用python对Excel中的特定数据提取并写入新表的方法
Jun 14 Python
python爬取百度贴吧前1000页内容(requests库面向对象思想实现)
Aug 10 Python
Python3常用内置方法代码实例
Nov 18 Python
Python的形参和实参使用方式
Dec 24 Python
为什么黑客都用python(123个黑客必备的Python工具)
Jan 31 Python
Python使用monkey.patch_all()解决协程阻塞问题
Apr 15 Python
python如何停止递归
Sep 09 Python
python time.strptime格式化实例详解
Feb 03 Python
在 Golang 中实现 Cache::remember 方法详解
Mar 30 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 日,周,月点击排行统计
2012/01/11 PHP
解析php中var_dump,var_export,print_r三个函数的区别
2013/06/21 PHP
学习php设计模式 php实现合成模式(composite)
2015/12/08 PHP
PHP中的数组处理函数实例总结
2016/01/09 PHP
laravel框架语言包拓展实现方法分析
2019/11/22 PHP
PHP CURL实现模拟登陆并上传文件操作示例
2020/01/02 PHP
获取焦点时,利用js定时器设定时间执行动作
2010/04/02 Javascript
javascript 按键事件(兼容各浏览器)
2013/12/20 Javascript
Javascript基础教程之数据类型 (字符串 String)
2015/01/18 Javascript
js实现完全自定义可带多级目录的网页鼠标右键菜单方法
2015/02/28 Javascript
JS实现浏览器状态栏文字从右向左弹出效果代码
2015/10/27 Javascript
DIV随滚动条滚动而滚动的实现代码【推荐】
2016/04/12 Javascript
vue项目中在外部js文件中直接调用vue实例的方法比如说this
2019/04/28 Javascript
Vue + Element UI图片上传控件使用详解
2019/08/20 Javascript
基于JS抓取某高校附近共享单车位置 使用web方式展示位置变化代码实例
2019/08/27 Javascript
解决layui数据表格Date日期格式的回显Object的问题
2019/09/19 Javascript
通过GASP让vue实现动态效果实例代码详解
2019/11/24 Javascript
Python抓取电影天堂电影信息的代码
2016/04/07 Python
Python多进程并发与多线程并发编程实例总结
2018/02/08 Python
python之从文件读取数据到list的实例讲解
2018/04/19 Python
详解Python静态网页爬取获取高清壁纸
2019/04/23 Python
python字符串切割:str.split()与re.split()的对比分析
2019/07/16 Python
python tkinter canvas使用实例
2019/11/04 Python
python常用数据重复项处理方法
2019/11/22 Python
python列表切片和嵌套列表取值操作详解
2020/02/27 Python
使用css3实现超炫的loading加载动画效果
2014/05/07 HTML / CSS
澳大利亚最好的电动自行车:Leon Cycle
2020/12/19 全球购物
同事打架检讨书
2014/02/04 职场文书
结婚保证书范文
2014/04/29 职场文书
关于梦想的演讲稿
2014/05/05 职场文书
拉歌口号大全
2014/06/13 职场文书
教师个人读书活动总结
2014/07/08 职场文书
团拜会主持词
2015/07/04 职场文书
MySQL pt-slave-restart工具的使用简介
2021/04/07 MySQL
Python基础之Socket通信原理
2021/04/22 Python
如何使用vue3打造一个物料库
2021/05/08 Vue.js