使用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异常处理慎用“except:pass”建议
Apr 02 Python
Python的Flask框架中使用Flask-SQLAlchemy管理数据库的教程
Jun 14 Python
对Python3.6 IDLE常用快捷键介绍
Jul 16 Python
python绘制多个曲线的折线图
Mar 23 Python
使用python批量化音乐文件格式转换的实例
Jan 09 Python
python 通过类中一个方法获取另一个方法变量的实例
Jan 22 Python
Python 限制线程的最大数量的方法(Semaphore)
Feb 22 Python
Python面向对象程序设计类的封装与继承用法示例
Apr 12 Python
Python实现微信翻译机器人的方法
Aug 13 Python
python tkinter控件布局项目实例
Nov 04 Python
idea2020手动安装python插件的实现方法
Jul 17 Python
Python如何把不同类型数据的json序列化
Apr 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
博士208HAF收音机实习报告
2021/03/02 无线电
PHP+MySQL5.0中文乱码解决方法
2006/11/20 PHP
使用Discuz关键词服务器实现PHP中文分词
2014/03/11 PHP
CI框架集成Smarty的方法分析
2016/05/17 PHP
php+ajax注册实时验证功能
2016/07/20 PHP
新闻内页-JS分页
2006/06/07 Javascript
基于JQuery框架的AJAX实例代码
2009/11/03 Javascript
各浏览器对click方法的支持差异小结
2011/07/31 Javascript
IE网页js语法错误2行字符1、FF中正常的解决方法
2013/09/09 Javascript
利用js实现前台动态添加文本框,后台获取文本框内容(示例代码)
2013/11/25 Javascript
模拟一个类似百度google的模糊搜索下拉列表
2014/04/15 Javascript
js实现无缝滚动图
2017/02/22 Javascript
js编写简单的计时器功能
2017/07/15 Javascript
Vue项目分环境打包的实现步骤
2018/04/02 Javascript
vue如何引入sass全局变量
2018/06/28 Javascript
微信小程序实现的点击按钮 弹出底部上拉菜单功能示例
2018/12/20 Javascript
vue.js实现照片放大功能
2020/06/23 Javascript
[54:51]Ti4 冒泡赛第二轮LGD vs C9 3
2014/07/14 DOTA
Python中使用摄像头实现简单的延时摄影技术
2015/03/27 Python
十个Python程序员易犯的错误
2015/12/15 Python
通过Python使用saltstack生成服务器资产清单
2016/03/01 Python
Python中getattr函数和hasattr函数作用详解
2016/06/14 Python
使用Python的Scrapy框架十分钟爬取美女图
2016/12/26 Python
零基础使用Python读写处理Excel表格的方法
2019/05/02 Python
详解Python odoo中嵌入html简单的分页功能
2019/05/29 Python
django实现web接口 python3模拟Post请求方式
2019/11/19 Python
Python Pillow.Image 图像保存和参数选择方式
2020/01/09 Python
Python semaphore evevt生产者消费者模型原理解析
2020/03/18 Python
Python读写锁实现实现代码解析
2020/11/28 Python
纯DOM+CSS3实现简单的小风车动画
2016/09/27 HTML / CSS
利用CSS3实现炫酷的飞机起飞动画
2016/09/17 HTML / CSS
VELTRA台湾:世界自由行专家
2017/08/15 全球购物
2014年初级职称工作总结
2014/12/08 职场文书
安全保证书
2015/01/16 职场文书
离开雷锋的日子观后感
2015/06/09 职场文书
解决python存数据库速度太慢的问题
2021/04/23 Python