使用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中模拟enum枚举类型的5种方法分享
Nov 22 Python
Python编程中使用Pillow来处理图像的基础教程
Nov 20 Python
python实现实时监控文件的方法
Aug 26 Python
Python获取当前函数名称方法实例分享
Jan 18 Python
Python matplotlib绘图可视化知识点整理(小结)
Mar 16 Python
Python3.5 Pandas模块之Series用法实例分析
Apr 23 Python
python3.6、opencv安装环境搭建过程(图文教程)
Nov 05 Python
浅谈Django前端后端值传递问题
Jul 15 Python
Python爬虫实例——爬取美团美食数据
Jul 15 Python
获取CSDN文章内容并转换为markdown文本的python
Sep 06 Python
Python为何不支持switch语句原理详解
Oct 21 Python
python 利用panda 实现列联表(交叉表)
Feb 06 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
ASP知识讲座四
2006/10/09 PHP
PHP性能优化准备篇图解PEAR安装
2011/12/05 PHP
小谈php正则提取图片地址
2014/03/27 PHP
PHP自带函数给数字或字符串自动补齐位数
2014/07/29 PHP
PHP中使用imagick生成PSD文件缩略图教程
2015/01/26 PHP
php命令行(cli)下执行PHP脚本文件的相对路径的问题解决方法
2015/05/25 PHP
PHP 对象继承原理与简单用法示例
2020/04/21 PHP
js 获取服务器控件值的代码
2010/03/05 Javascript
location.href语句与火狐不兼容的问题
2010/07/04 Javascript
javascript修改IMG标签的src问题
2014/03/28 Javascript
JS实现div居中示例
2014/04/17 Javascript
javascript单引号和双引号的区别和处理
2014/05/14 Javascript
JS解析XML实例分析
2015/01/30 Javascript
高效的jquery数字滚动特效
2015/12/17 Javascript
基于javascript实现精确到毫秒的倒计时限时抢购
2016/04/17 Javascript
Angularjs过滤器实现动态搜索与排序功能示例
2017/12/13 Javascript
JavaScript中利用Array filter() 方法压缩稀疏数组
2018/02/24 Javascript
vue cli升级webapck4总结
2018/04/04 Javascript
使用typescript开发angular模块并发布npm包
2018/04/19 Javascript
JS实现的贪吃蛇游戏案例详解
2019/05/01 Javascript
Vue2.0实现组件之间数据交互和通信操作示例
2019/05/16 Javascript
layui下拉列表select实现可输入查找的方法
2019/09/28 Javascript
vue+iview分页组件的封装
2020/11/17 Vue.js
python实现的解析crontab配置文件代码
2014/06/30 Python
python实现zabbix发送短信脚本
2018/09/17 Python
Python 新建文件夹与复制文件夹内所有内容的方法
2018/10/27 Python
深入了解和应用Python 装饰器 @decorator
2019/04/02 Python
Python xlrd/xlwt 创建excel文件及常用操作
2020/09/24 Python
丑小鸭教学反思
2014/02/03 职场文书
会计电算化应届生自荐信
2014/02/25 职场文书
小班幼儿评语大全
2014/04/30 职场文书
“四风”问题整改措施和努力方向
2014/09/20 职场文书
教师自查自纠工作情况报告
2014/10/29 职场文书
幼儿园六一儿童节主持词
2015/06/30 职场文书
前端学习——JavaScript原生实现购物车案例
2021/03/31 Javascript
python中subplot大小的设置步骤
2021/06/28 Python