python下载腾讯云慢日志并发送邮件附件
这里没优化,只是对腾讯云下载慢日志,然后通过邮件发送出去 #!/usr/bin/env python
# encoding: utf-8 import json
import smtplib
import urllib2
from email.mime.text import MIMEText
from email.header import Header
from email.mime.multipart import MIMEMultipart
from QcloudApi.qcloudapi import QcloudApi
from datetime import timedelta, datetime yesterday = datetime.today() + timedelta(-1)
yesterday_format = yesterday.strftime('%Y%m%d') log_test1_dir = '/data/logsbak/slowlog/test1/'
log_test2_dir = '/data/logsbak/slowlog/test2/' def download(url,filename):
url = url
f = urllib2.urlopen(url)
data = f.read()
with open(filename, "wb") as code:
code.write(data) def sendmail(sender,password,receivers,smtpServer,subject,content,file1,file2):
sender = sender
password = password
receivers = receivers
smtp_server = smtpServer
message = MIMEMultipart()
message['From'] = sender
message['To'] = ','.join(receivers)
message['Subject'] = subject
message.attach(MIMEText(content, 'plain', 'utf-8'))
file_test1 = log_test1_dir + file1
file_test2 = log_test2_dir + file2
att1 = MIMEText(open(file_test1, 'rb').read(), 'base64', 'utf-8')
att1["Content-Type"] = 'application/octet-stream'
att1["Content-Disposition"] = 'attachment; filename=%s' %file1
message.attach(att1)
att2 = MIMEText(open(file_test2, 'rb').read(), 'base64', 'utf-8')
att2["Content-Type"] = 'application/octet-stream'
att2["Content-Disposition"] = 'attachment; filename=%s' %file2
message.attach(att2)
server = smtplib.SMTP(smtp_server,25)
#server.set_debuglevel(1)
server.login(sender,password)
server.sendmail(sender,receivers,message.as_string())
server.quit() def qcloud_cdb_log(SecretId,SecretKey,Region):
module = 'cdb'
action = 'GetCdbExportLogUrl'
action_params = {
'cdbInstanceId':'cdb-l2lpuyjt',
'type':'slowlog_day',
}
config = {
'Region': Region,
'secretId': SecretId,
'secretKey': SecretKey,
} try:
service = QcloudApi(module, config)
cdb = json.loads(service.call(action, action_params))
return cdb['data']
except Exception as e:
import traceback
print('traceback.format_exc():\n%s' % traceback.format_exc()) if __name__ == '__main__':
cdb_data = qcloud_cdb_log('sjsldjflsjdfljsljdljwejjlwjkljlwer','sldjflsjdlfjsljdfljsljfldkjslfjldsjlfjdslf','ap-beijing')
logname_test1 = cdb_data[-2]['file_name']
link_test1 = cdb_data[-2]['out_url']
slowlog_test1 = log_test1_dir + logname_test1
logname_test2 = 'test2_slowlog_' + yesterday_format + '.log'
download(link_test1,slowlog_test1)
sender = 'jiankong@test.com'
#receivers = ['lw@test.com']
receivers = ['xb@test.com']
password = ''
smtpServer = 'smtp.test.com'
subject = '慢日志'
content = '慢日志,请查看附件'
sendmail(sender,password,receivers,smtpServer,subject,content,logname_test1,logname_test2)
python下载腾讯云慢日志并发送邮件附件的更多相关文章
- Python脚本收集腾讯云CDN日志,并入ELK日志分析
负责搭建公司日志分析,一直想把CDN日志也放入到日志分析,前些日志终于达成所愿,现在贴出具体做法: 1.收集日志 腾讯云CDN日志一般一小时刷新一次,也就是说当前只能下载一小时之前的日志数据,但据本人 ...
- python调用腾讯云短信接口
目录 python调用腾讯云短信接口 账号注册 python中封装腾讯云短信接口 python调用腾讯云短信接口 账号注册 去腾讯云官网注册一个腾讯云账号,通过实名认证 然后开通短信服务,创建短信应用 ...
- Python使用腾讯云-短信服务发送手机短信
目前[腾讯云短信]为客户提供[国内短信].[国内语音]和[海外短信]三大服务,腾讯云短信SDK支持以下操作: 国内短信 国内短信支持操作: • 指定模板单发短信 • 指定模板群发短信 • 拉取短信回执 ...
- Python调用腾讯云API,实现人脸年龄变化
网上看到了一个教程,调用腾讯云的人脸识别api和修改年龄api来实现模拟人物不同年龄的面貌 但是大多数教程的代码都是想同的,估计是抄袭哪个人的关键是执行不了 刚好周杰伦马上要发新专辑了,小改一下,拿杰 ...
- 腾讯云服务器使用smtp发送邮件
问题:在腾讯云服务器上使用自编写的邮件服务失败.查其原因,是该邮件服务调用smtpclient.Send(mailMessage)时,出现错误:由于连接方在一段时间后没有正确答复或连接的主机没有反应, ...
- 关于python 使用腾讯云OCR 通用印刷体识别
腾讯的python SDK没有通用印刷体识别,所以参考了别人识别网上图片的方式:https://www.cnblogs.com/semishigure/p/7690789.html 但是咱们使用的基本 ...
- Python FLask 腾讯云服务器部署
CentOs 7.0云服务器部署Python Flask 使用: Python 2.7 Flask nginx gunicorn easy_install python-dev yum install ...
- redisTemplate实现轻量级消息队列, 异步处理excel并实现腾讯云cos文件上传下载
背景 公司项目有个需求, 前端上传excel文件, 后端读取数据.处理数据.返回错误数据, 最简单的方式同步处理, 客户端上传文件后一直阻塞等待响应, 但用户体验无疑很差, 处理数据可能十分耗时, 没 ...
- 腾讯云申请SSL证书与Nginx配置Https
0x00 为什么要安装证书 信息传输的保密性 数据交换的完整性 信息的不可否认性 交易者身份确定性 如今各大浏览器厂商不断推进Https安全访问强制性要求,为了避免以后网站数据量增多时安装证书造成不必 ...
随机推荐
- OA项目实战(一) 概述
从本篇博文开始,我为大家简单介绍一下办公自动化(Office Automation,简称OA). 1.OA简介 OA是将现代办公和计算机网络的功能相结合的一种新型办公方式,是针对日常工作,改变 ...
- java中的JDBC
Java 是通过 JDBC 技术实现对各种数据库访问的,换句话说,JDBC 充当了 Java 应用程 序与各种不同数据库之间进行对话的媒介. JDBC 是 Java 数据库连接(Java DataBa ...
- [九省联考2018]林克卡特树(DP+wqs二分)
对于k=0和k=1的点,可以直接求树的直径. 然后对于60分,有一个重要的转化:就是求在树中找出k+1条点不相交的链后的最大连续边权和. 这个DP就好.$O(nk^2)$ 然后我们完全不可以想到,将b ...
- [BZOJ 1212] L语言
Link: BZOJ 1212 传送门 Solution: 看到字符串的多模式匹配,正解一般就是Trie树/AC自动机 此题由于每个模式串长度都很小,于是直接在Trie树上暴力就行了 先把所有模式串建 ...
- CodeForces - 283E Cow Tennis Tournament
Discription Farmer John is hosting a tennis tournament with his n cows. Each cow has a skill level s ...
- 【计算几何】【二分答案】【最大流】bzoj1822 [JSOI2010]Frozen Nova 冷冻波
用三角形面积什么的算算点到直线的距离之类……其实相切的情况是可行的……剩下的就跟某SDOI2015一样了. #include<cstdio> #include<cmath> # ...
- FCL研究-目录
准备深入的学习下 FCL,太过于庞大,有些无从下口.用最笨的方法,先从常用的几个命名空间入手. 微软发布了.NET 的源码,学习起来更加方便了. 集合 导航: FCL研究-集合- System.Col ...
- Spark小问题合集
1)在win7下使用spark shell运行spark程序,通过以下形式读取文件时 sc.sequenceFile[Int,String]("./sparkF") 偶尔会出现“I ...
- golang垃圾回收
常见GC算法 我总结了一下常见的 GC 算法.分别是:引用计数法.Mark-Sweep法.三色标记法.分代收集法. 1. 引用计数法 原理是在每个对象内部维护一个整数值,叫做这个对象的引用计数,当对象 ...
- TDiocpCoderTcpServer返回数据记录有条数限制的问题
TDiocpCoderTcpServer返回数据记录有条数限制的问题 在使用TDiocpCoderTcpServer控件返回查询数据的时候,发现当记录条数超过一定数量的时候(比方有人反试图返回30万条 ...