使用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中使用异步Socket编程性能测试
Jun 25 Python
Python 爬虫多线程详解及实例代码
Oct 08 Python
Python 中 list 的各项操作技巧
Apr 13 Python
python使用 HTMLTestRunner.py生成测试报告
Oct 20 Python
Python入门学习指南分享
Apr 11 Python
Python运维开发之psutil库的使用详解
Oct 18 Python
基于python-opencv3的图像显示和保存操作
Jun 27 Python
python找出列表中大于某个阈值的数据段示例
Nov 24 Python
python实现梯度下降法
Mar 24 Python
详解基于Jupyter notebooks采用sklearn库实现多元回归方程编程
Mar 25 Python
Python使用多进程运行含有任意个参数的函数
May 02 Python
PyTorch中的拷贝与就地操作详解
Dec 09 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 中检查或过滤IP地址的实现代码
2011/11/27 PHP
PHP对象Object的概念 介绍
2012/06/14 PHP
ThinkPHP单字母函数(快捷方法)使用总结
2014/07/23 PHP
PHP实现利用MySQL保存session的方法
2014/08/23 PHP
基于php(Thinkphp)+jquery 实现ajax多选反选不选删除数据功能
2017/02/24 PHP
借用Google的Javascript API Loader来加速你的网站
2009/01/28 Javascript
IE innerHTML,outerHTML所引起的问题
2009/06/04 Javascript
JavaScript中遍历对象的property的3种方法介绍
2014/12/30 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
JS模拟酷狗音乐播放器收缩折叠关闭效果代码
2015/10/29 Javascript
jQuery javascript获得网页的高度与宽度的实现代码
2016/04/26 Javascript
深入理解JS函数的参数(arguments)的使用
2016/05/28 Javascript
微信小程序--onShareAppMessage分享参数用处(页面分享)
2017/04/18 Javascript
babel的使用及安装配置教程
2018/02/22 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
基于vue-cli搭建多模块且各模块独立打包的项目
2019/06/12 Javascript
[01:34]传奇从这开始 2016国际邀请赛中国区预选赛震撼开启
2016/06/26 DOTA
Python标准异常和异常处理详解
2015/02/02 Python
python中reload(module)的用法示例详解
2017/09/15 Python
Python3使用PyQt5制作简单的画板/手写板实例
2017/10/19 Python
Python3.5.3下配置opencv3.2.0的操作方法
2018/04/02 Python
python中virtualenvwrapper安装与使用
2018/05/20 Python
用Python将结果保存为xlsx的方法
2019/01/28 Python
Python Flask框架模板操作实例分析
2019/05/03 Python
如何用 Python 制作一个迷宫游戏
2021/02/25 Python
pytorch 中forward 的用法与解释说明
2021/02/26 Python
HTML5 canvas绘制的玫瑰花效果
2014/05/29 HTML / CSS
Nisbets法国:英国最大的厨房和餐饮设备供应商
2019/03/18 全球购物
三星印度官网:Samsung印度
2019/08/03 全球购物
迪奥美国官网:Dior美国
2019/12/07 全球购物
歌唱比赛获奖感言
2014/01/21 职场文书
工程学毕业生自荐信
2014/06/14 职场文书
市场营销专业应届生自荐信
2014/06/19 职场文书
Python 读写 Matlab Mat 格式数据的操作
2021/05/19 Python
浅析Python中的随机采样和概率分布
2021/12/06 Python
Java虚拟机内存结构及编码实战分享
2022/04/07 Java/Android