使用python3调用wxpy模块监控linux日志并定时发送消息给群组或好友
使用python3调用wxpy模块,监控linux日志并定时发送消息给群组或好友,具体代码如下所示:
#!/usr/bin/envpython3
#-*-coding:utf-8-*-
from__future__importunicode_literals
fromthreadingimportTimer
fromwxpyimport*
importrequests
importsubprocess
importtime
fromPILimportImage,ImageDraw,ImageFont
fromapscheduler.schedulers.blockingimportBlockingScheduler
#cache_path=true表示登陆一次之后,进行缓存,下次登陆只需要手机确认
bot=Bot(console_qr=2,cache_path=True)
#获取topic是否消费延迟
defget_Lag():
text=""
p=subprocess.Popen('kafka-consumer-offset-checker--zookeeper192.168.1.116--groupt_sync--topicSYNC_DATABASE_UPDATE',shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE,universal_newlines=True)#universal_newlines=True,表示输出为字符串,默认是byte
whileTrue:
line=p.stdout.readline()
ifnotline:
break
else:
text+=line+'\n'
returntext
defget_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)
whileTrue:
line=str(p.stdout.readline())
ifnotline:
break
elif"senddata"inlineandt:
foriteminline.split(','):
count+=1
ifcount<=200:
text.append(item)
break
returntext
defget_context():
result=""
word=get_news()
foriinrange(len(word)):
if(i%4==0):
result=result+word[i]+"\n"
else:
result=result+word[i]+""
returnresult
defsend_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日志并定时发送消息给群组或好友,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对毛票票网站的支持!
如果你觉得本文对你有帮助,欢迎转载,烦请注明出处,谢谢!