文档章节

自动化生成excl 并且邮件报警

莲花子
 莲花子
发布于 2017/04/27 17:23
字数 436
阅读 66
收藏 0
#!coding:utf-8
##重庆话语科技---运维部--莲花子
##python/shell
##群号:35666534   欢迎你
import time
import signal
import random
import pymysql
import    xlsxwriter
workbook = xlsxwriter.Workbook('static/baoduym.xlsx')
worksheet = workbook.add_worksheet()
listhead=['id' ,  '域名' ,  '所属部门'  , '360状态','腾讯状态','腾讯api状态','检测时间','新增时间']
row=1
col=0
for i in listhead:
            worksheet.write_string(row,col,i)
            col+=1
def myerror(a,b):
    errormail()
    workbook.close()
    raise

def datalook():
    row=2
    col=0
    department={
          '0':'未知',
          '1':'优效SSP&ADX项目部',
          '2':'优效分发-发行项目部',
          '3':'优效研发部',
          '4':'商业软件矩阵',
          '5':'商业推广部',
          '6':'事业发展部',
          '7':'销售部',
          '8':'移动广告应用',
          '9':'优效商家项目部',
          '10':'总裁办',
      }
    try:
        signal.signal(signal.SIGALRM,myerror)
        signal.alarm(200)
        print("...")
        cursor,con=connect()
        sql = "select * from dianxin_news_domains where status_360<>1 or status_qq <>1 or status_qqweb <>1;"
        cursor.execute(sql)
        result = cursor.fetchall()
    finally:
         pass
    for i in result:
        if i['status_360'] == 0:
                status_360='报毒'
        else:
                status_360='正常'
        if i['status_qq'] == 0:
                status_qq='报毒'
        else:
                status_qq='正常'
        if i['status_qqweb'] == 0:
                status_qqweb='报毒'
        else:
                status_qqweb='正常'
        worksheet.write_string(row,0,str(i['id']))
        worksheet.write_string(row,1,i['domain'])
        worksheet.write_string(row,2,department.get(str(i['department'])))
        worksheet.write_string(row,3,status_360)
        worksheet.write_string(row,4,status_qq)
        worksheet.write_string(row,5,status_qqweb)
        worksheet.write_string(row,6,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(i['check_time'])))
        worksheet.write_string(row,7,time.strftime("%Y-%m-%d %H:%M:%S",time.localtime(i['create_time'])))
        row+=1
    workbook.close()
    mail()
def connect():
    connection = pymysql.connect(host='8.8.8.8',
                             user='root',
                             password='',
                             db='news_beta',
                             charset='utf8mb4',
                             cursorclass=pymysql.cursors.DictCursor)
    cursor=connection.cursor()
    return cursor,connection



def mail():
        import smtplib
        from email.mime.multipart import MIMEMultipart
        from email.mime.text import MIMEText
        from email.mime.application import MIMEApplication
        server="smtp.exmail.qq.com"
        user="luohongjiang@yandui.com"
        password=""
        dstmail=["luohongjiang@yandui.com","mayongchuan@yandui.com","gaojinbo@yandui.com"]
        msg = MIMEMultipart()
        msg["Subject"] = "报毒域名"
        msg["From"]  = user
        msg["To"]   = ",".join(dstmail)
        part = MIMEText("报告!报毒域名,请查看附件 baoduym,如需要调整,请安排相关同事进行对接处理!")
        msg.attach(part)
        part = MIMEApplication(open('static/baoduym.xlsx','rb').read())
        part.add_header('Content-Disposition', 'attachment', filename="baoduym.xlsx")
        msg.attach(part)
        smtp=smtplib.SMTP(timeout=30)
        smtp.connect(server)
        smtp.helo
        smtp.login(user,password)
        smtp.sendmail(user, dstmail, msg.as_string())
        smtp.close()
        smtp.quit


datalook()

 

© 著作权归作者所有

莲花子
粉丝 1
博文 13
码字总数 4521
作品 0
渝中
系统管理员
私信 提问
监控报警系统搭建及二次开发经验

本次分享的内容是监控报警系统搭建,以及基于开源组件的二次开发。自从接受了公司监控报警系统二期开发需求以来,我们完成了监控数据的补全完善、报警系统搭建调试和报警规则配置界面的开发。...

luoxiaojun1992
2016/12/11
1.6K
2
SVN自动化备份、恢复脚本(下)

#!/bin/bash 本脚本是用来计算本地磁盘空间大小,并且与svn备份文件大小进行比较判断,当满足什么条件时,做出相应的响应。 第一步是检测svn服务器,svn数据文件的总量大小和本机磁盘剩余空间...

王九龙
2015/07/30
159
0
nagios钉钉报警与邮件报警

由于公司需求,要有一个监控,并且可以钉钉、邮件报警,我就做了。虽然,我是tester,因为公司暂时没运维,我兼职了。 前提条件: * 已经装好naigos,但没配置报警 * 需要linux下有python环境...

说什么好呢
2018/07/24
0
0
京东MySQL监控之Zabbix优化、自动化

随着京东业务的飞速发展, MySQL数据库的使用更加普及、服务器量级飞速增长,这对京东MySQL DBA团队的要求也越来越高。监控系统为数据库管理和维护提供了精确的数据依据,是数据库运维人员的...

lover007
2016/08/02
0
0
zabbix实例集群部署-偏向于管理使用

zabbix实例集群部署 前言:已经折腾两个礼拜了,本文侧重点不在于安装,在于使用管理。部署请看文档或者百度,,很简 单 提示:zabbix关于模板、应用集、主机组、触发器、等等命令一定要谨慎...

chennailong
2018/06/26
0
0

没有更多内容

加载失败,请刷新页面

加载更多

如何查看Android的系统版本?

有谁知道我怎么能检查系统版本(例如1.0 , 2.2 ,等)编程? #1楼 我无法对答案发表评论,但是Kaushik的答案存在一个严重错误:SDK_INT与系统版本不同,但实际上是指API级别。 if(Build.VER...

技术盛宴
47分钟前
35
0
引入AI变量,精准农业正在加速豹变?

  不久前,“江苏省脱贫率达 99.99%,尚未脱贫人数仅剩 6 户、17 人”这样一则新闻刷屏。“把这 17 个人迁出,江苏就全省脱贫”、“最后这 6 户人家拖了后腿”,在网民们的调侃和质疑声背后...

水果黄瓜
51分钟前
41
0
Elasticsearch系列---结构化搜索

概要 结构化搜索针对日期、时间、数字等结构化数据的搜索,它们有自己的格式,我们可以对它们进行范围,比较大小等逻辑操作,这些逻辑操作得到的结果非黑即白,要么符合条件在结果集里,要么...

清茶豆奶
今天
69
0
每天AC系列(一):三数之和

1 题目 LeetCode第15题,难度中等,题目描述: 给定一个包含 n 个整数的数组 nums,判断 nums 中是否存在三个元素 a,b,c ,使得 a + b + c = 0 ?找出所有满足条件且不重复的三元组。 注意:答...

Blueeeeeee
今天
120
0
OSChina 周四乱弹 —— 水果你们都没吃全

Osc乱弹歌单(2020)请戳(这里) 【今日歌曲】 @ 莱布妮子:分享五月天的单曲《温柔》@小小编辑 @cIouddyy @clouddyy 《温柔》- 五月天 手机党少年们想听歌,请使劲儿戳(这里) @FalconChe...

小小编辑
今天
1.9K
11

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部