使用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爬虫抓取手机APP的传输数据
Jan 22 Python
纯用NumPy实现神经网络的示例代码
Oct 24 Python
python使用matplotlib绘制热图
Nov 07 Python
对python cv2批量灰度图片并保存的实例讲解
Nov 09 Python
配置 Pycharm 默认 Test runner 的图文教程
Nov 30 Python
python 读取修改pcap包的例子
Jul 23 Python
Flask框架单例模式实现方法详解
Jul 31 Python
Python字典推导式将cookie字符串转化为字典解析
Aug 10 Python
python中hasattr()、getattr()、setattr()函数的使用
Aug 16 Python
安装python3.7编译器后如何正确安装opnecv的方法详解
Jun 16 Python
基于python实现银行管理系统
Apr 20 Python
Pytorch GPU内存占用很高,但是利用率很低如何解决
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
WordPress中给文章添加自定义字段及后台编辑功能区域
2015/12/19 PHP
Laravel中基于Artisan View扩展包创建及删除应用视图文件的方法
2016/10/08 PHP
extjs 3.31 TreeGrid实现静态页面加载json到TreeGrid里面
2013/04/02 Javascript
javascript通过className来获取元素的简单示例代码
2014/01/10 Javascript
jquery实现多行文字图片滚动效果示例代码
2014/10/10 Javascript
JavaScript实现向setTimeout执行代码传递参数的方法
2015/04/16 Javascript
在Node.js应用中读写Redis数据库的简单方法
2015/06/30 Javascript
详解javascript事件冒泡
2016/01/09 Javascript
原生JS和jQuery操作DOM对比总结
2017/01/19 Javascript
微信小程序实现图片轮播及文件上传
2017/04/07 Javascript
微信小程序学习之数据处理详解
2017/07/05 Javascript
浅谈vue-cli 3.0.x 初体验
2018/04/11 Javascript
从0到1构建vueSSR项目之路由的构建
2019/03/07 Javascript
Vue实现回到顶部和底部动画效果
2019/07/31 Javascript
node命令行工具之实现项目工程自动初始化的标准流程
2019/08/12 Javascript
vue quill editor 使用富文本添加上传音频功能
2020/01/14 Javascript
Vue实现购物车实例代码两则
2020/05/30 Javascript
echarts实现获取datazoom的起始值(包括x轴和y轴)
2020/07/20 Javascript
[01:09:24]Ti4开幕式
2014/07/19 DOTA
解决pycharm每次新建项目都要重新安装一些第三方库的问题
2019/01/17 Python
django连接oracle时setting 配置方法
2019/08/29 Python
python适合做数据挖掘吗
2020/06/16 Python
Pytorch上下采样函数--interpolate用法
2020/07/07 Python
python中用Scrapy实现定时爬虫的实例讲解
2021/01/18 Python
美的官方商城:Midea
2016/09/14 全球购物
Omio葡萄牙:全欧洲低价大巴、火车和航班搜索和比价
2019/02/09 全球购物
语文教育专业推荐信范文
2013/11/25 职场文书
先进党支部事迹材料
2014/01/13 职场文书
安全资金保障制度
2014/01/23 职场文书
2014年司法所工作总结
2014/11/22 职场文书
语文复习计划
2015/01/19 职场文书
自主招生推荐信格式模板
2015/03/24 职场文书
2015年高二班主任工作总结
2015/05/25 职场文书
2016年班主任新年寄语
2015/08/18 职场文书
MySQL中distinct与group by之间的性能进行比较
2021/05/26 MySQL
【海涛dota解说】一房久违的影魔魂守二连发
2022/04/01 DOTA