python脚本自动生成ORACLE AWR报告

简介: #!/usr/bin/python#coding=gbk#2011-08-12import osimport sysimport smtplibimport pickleimport mimetypes from email.
  1. #!/usr/bin/python
  2. #coding=gbk
  3. #2011-08-12
  4. import os
  5. import sys
  6. import smtplib
  7. import pickle
  8. import mimetypes 
  9. from email.MIMEText import MIMEText 
  10. from email.MIMEImage import MIMEImage
  11. from email.MIMEMultipart import MIMEMultipart
  12. SMTP_SERVER='localhost'
  13. #EMAIL_USER='root'
  14. #EMAIL_PASSWD=''
  15. EMAIL_SUBJECT='dg01.com.cn AWR Report'
  16. FROM_USER='root@dg01.com.cn'
  17. TO_USERS=['vcdog@126.com','kevin@hotmail.com']
  18. def createawr():
  19.   pipe = os.popen(' su - oracle -c "/u01/oracle/product/10.2.0/db_1/bin/sqlplus /nolog @awrrpt.sql"')
  20.   print 'create awr report is ok!'
  21. def mysendmail(fromaddr,toaddrs,subject):
  22.         COMMASPACE=','
  23.         msg = MIMEMultipart() 
  24.         msg['From'] = fromaddr
  25.         msg['To'] = COMMASPACE.join(toaddrs)
  26.         msg['Subject'] = subject
  27.         txt = MIMEText("172.21.1.30 AWR Report, The report be send at 9 AM every day ") 
  28.         msg.attach(txt) 
  29.         fileName = r'/home/oracle/awr.html'
  30.         ctype, encoding = mimetypes.guess_type(fileName) 
  31.         if ctype is None or encoding is not None: 
  32.             ctype = 'application/octet-stream'
  33.         maintype, subtype = ctype.split('/', 1) 
  34.         att = MIMEImage((lambda f: (f.read(), f.close()))(open(fileName, 'rb'))[0], _subtype = subtype) 
  35.         att.add_header('Content-Disposition', 'attachment', filename = fileName) 
  36.         msg.attach(att) 
  37.         server=smtplib.SMTP(SMTP_SERVER)
  38.         #server.login(EMAIL_USER,EMAIL_PASSWD)
  39.         server.sendmail(fromaddr,toaddrs,msg.as_string())
  40.         server.quit()
  41. if __name__=='__main__':
  42.                 createawr()
  43.                 mysendmail(FROM_USER, TO_USERS, EMAIL_SUBJECT)
  44.                 print 'send successful'
目录
相关文章
|
1月前
|
Python
用python转移小文件到指定目录并压缩,脚本封装
这篇文章介绍了如何使用Python脚本将大量小文件转移到指定目录,并在达到大约250MB时进行压缩。
35 2
|
1月前
|
运维 Prometheus 监控
自动化运维的魔法:使用Python脚本简化日常任务
【8月更文挑战第50天】在数字化时代的浪潮中,自动化运维成为提升效率、减少人为错误的利器。本文将通过一个实际案例,展示如何利用Python脚本实现自动化部署和监控,从而让运维工作变得更加轻松和高效。我们将一起探索代码的力量,解锁自动化运维的神秘面纱,让你的工作环境焕然一新。
145 81
|
9天前
|
Linux 区块链 Python
Python实用记录(十三):python脚本打包exe文件并运行
这篇文章介绍了如何使用PyInstaller将Python脚本打包成可执行文件(exe),并提供了详细的步骤和注意事项。
22 1
Python实用记录(十三):python脚本打包exe文件并运行
|
20天前
|
Python
Python 脚本高级编程:从基础到实践
本文介绍了Python脚本的高级概念与示例,涵盖函数的灵活应用、异常处理技巧、装饰器的使用方法、上下文管理器的实现以及并发与并行编程技术,展示了Python在自动化任务和数据操作中的强大功能。包括复杂函数参数处理、自定义装饰器、上下文管理器及多线程执行示例。
35 5
|
23天前
|
安全 Python
Python脚本实现IP按段分类
【10月更文挑战第04天】
23 7
|
27天前
|
机器学习/深度学习 人工智能 运维
自动化运维的魔法:如何利用Python脚本提升工作效率
【9月更文挑战第29天】在数字时代的浪潮中,IT运维人员面临着前所未有的挑战和机遇。本文将通过深入浅出的方式,介绍自动化运维的基本概念、核心价值以及使用Python脚本实现自动化任务的方法。我们将从实际案例出发,探讨如何利用Python简化日常的系统管理任务,提高运维效率,并展望自动化运维的未来趋势。无论你是初学者还是有经验的运维专家,这篇文章都将为你开启一扇通往高效工作方式的大门。
41 2
|
6天前
|
SQL Oracle 关系型数据库
Python连接Oracle
Python连接Oracle
8 0
|
1月前
|
Web App开发 存储 安全
Python编写脚本,打开浏览器输入网址,自动化登陆网站
Python编写脚本,打开浏览器输入网址,自动化登陆网站
37 4
|
1月前
|
运维 监控 Python
自动化运维:使用Python脚本简化日常任务
【9月更文挑战第23天】在本文中,我们将探索如何通过编写Python脚本来自动化常见的系统管理任务,从而提升效率并减少人为错误。文章将介绍基础的Python编程概念、实用的库函数,以及如何将这些知识应用于创建有用的自动化工具。无论你是新手还是有经验的系统管理员,这篇文章都将为你提供有价值的见解和技巧,帮助你在日常工作中实现自动化。
|
1月前
|
运维 监控 安全
自动化运维:使用Python脚本简化日常任务
【9月更文挑战第21天】在快速迭代的软件开发环境中,运维工作往往因为重复性高、易出错而被诟病。本文将介绍如何通过编写简单的Python脚本来自动化这些日常任务,从而提升效率和减少错误。我们将以实际案例为基础,展示如何从零开始构建一个自动化脚本,并解释其背后的原理。文章旨在启发读者思考如何利用编程技能来解决工作中的实际问题,进而探索技术与日常工作流程结合的可能性。