使用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 MD5文件生成码
Jan 12 Python
python人人网登录应用实例
Sep 26 Python
python数据类型_元组、字典常用操作方法(介绍)
May 30 Python
django数据库migrate失败的解决方法解析
Feb 08 Python
Tensorflow中使用tfrecord方式读取数据的方法
Jun 19 Python
详解python的sorted函数对字典按key排序和按value排序
Aug 10 Python
对python pandas读取剪贴板内容的方法详解
Jan 24 Python
Python 实现微信防撤回功能
Apr 29 Python
pycharm新建一个python工程步骤
Jul 16 Python
python修改FTP服务器上的文件名
Sep 11 Python
使用python创建Excel工作簿及工作表过程图解
May 27 Python
python 写函数在一定条件下需要调用自身时的写法说明
Jun 01 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操作Memcache基本函数
2016/07/14 PHP
PHP针对伪静态的注入总结【附asp与Python相关代码】
2017/08/01 PHP
JS模拟面向对象全解(一、类型及传递)
2011/07/13 Javascript
文本框根据输入内容自适应高度的代码
2011/10/24 Javascript
js获取浏览器的可视区域尺寸的实现代码
2011/11/30 Javascript
jquery实现微博文字输入框 输入时显示输入字数 效果实现
2013/07/12 Javascript
JS网页播放声音实现代码兼容各种浏览器
2013/09/22 Javascript
Jquery选择器中使用变量实现动态选择例子
2014/07/25 Javascript
简介JavaScript中Boolean.toSource()方法的使用
2015/06/05 Javascript
JS实现登录页面记住密码和enter键登录方法推荐
2016/05/10 Javascript
基于cssSlidy.js插件实现响应式手机图片轮播效果
2016/08/30 Javascript
JS组件系列之MVVM组件构建自己的Vue组件
2017/04/28 Javascript
JS实现字符串中去除指定子字符串方法分析
2018/05/17 Javascript
vue+element UI实现树形表格带复选框的示例代码
2019/04/16 Javascript
Vue开发环境中修改端口号的实现方法
2019/08/15 Javascript
layui 对弹窗 form表单赋值的实现方法
2019/09/04 Javascript
微信小程序实现点击按钮后修改颜色
2019/12/05 Javascript
JavaScript实现页面高亮操作提示和蒙板
2021/01/04 Javascript
python threading模块操作多线程介绍
2015/04/08 Python
python计算圆周率pi的方法
2015/07/11 Python
python爬虫获取淘宝天猫商品详细参数
2020/06/23 Python
Django安装配置mysql的方法步骤
2018/10/15 Python
在python中使用requests 模拟浏览器发送请求数据的方法
2018/12/26 Python
PyQt打开保存对话框的方法和使用详解
2019/02/27 Python
python实现kmp算法的实例代码
2019/04/03 Python
Python 给屏幕打印信息加上颜色的实现方法
2019/04/24 Python
python模拟鼠标点击和键盘输入的操作
2019/08/04 Python
Transpose 数组行列转置的限制方式
2020/02/11 Python
俄罗斯宠物用品网上商店:ZooMag
2019/12/12 全球购物
完美的中文自荐信
2014/05/24 职场文书
质量承诺书怎么写
2014/05/24 职场文书
供应链金融服务方案
2014/05/25 职场文书
焦裕禄纪念馆观后感
2015/06/09 职场文书
使用pytorch实现线性回归
2021/04/11 Python
详解Javascript实践中的命令模式
2021/05/05 Javascript
《辉夜大小姐想让我告白》第三季正式预告
2022/03/20 日漫