您的位置:首页 > 编程语言 > Python开发

Python 发送 RMAN 备份 Log 脚本

2011-02-25 00:07 381 查看
RMAN 备份的日志放到一个文件里了。 之前的Nocatalg 下的备份脚本是使用Linux 的sendmail 来发送的。 不过这玩意影响系统的启动时间。 还是关了用Python来发送的。 备份完之后,调用一下脚本。 把RMAN的日志发送到邮箱。 早上来看下邮件,就知道备份是否成功了。 不然一台一台连服务器,有点小累。

Nocatalog 下的RMAN 增量备份 shell脚本

http://blog.csdn.net/tianlesoftware/archive/2011/01/26/6164931.aspx

这个nocatalog的RMAN 备份脚本会在备份脚本相同的目录下生成一个log文件。 下面的Python脚本就是把这个log 文件发送到邮箱。

Python 脚本比较简单,如下:

$ cat sendrmanlog.py

#!/usr/bin/python

#coding=gbk

#created by tianlesoftware

#2011/2/24

import os

import sys

import smtplib

FROM_USER='tianlesoftware@vip.qq.com'

SMTP_SERVER='192.168.1.100'

EMAIL_USER='tianlesoftware'

EMAIL_PASSWD='pwd'

TO_USERS=['tianlesoftware@vip.qq.com', 'tianlesoftware@vip.qq.com']

def mysendmail(fromaddr,toaddrs,subject,body):

server=smtplib.SMTP(SMTP_SERVER)

server.login(EMAIL_USER,EMAIL_PASSWD)

for toaddr in toaddrs:

msg = 'From: %s/nTo: %s/nSubject: %s/n/n%s/n' % (fromaddr, toaddr, subject, body)

server.sendmail(fromaddr,toaddr,msg)

server.quit()

def load(fname='/u01/backup/scripts/rman_backup.sh.out'):

fp=open(fname)

log=fp.read()

fp.close()

return log

body=load()

print body

subject='192.168.88.209 RMAN Backup Log'

mysendmail(FROM_USER,TO_USERS,subject,body)

将脚本添加到crontab:

$ crontab -l

00 9 * * * /u01/backup/scripts/sendrmanlog.py >/u01/backup/scripts/sendrmanlog.log 2>&1

------------------------------------------------------------------------------

Blog: http://blog.csdn.net/tianlesoftware
网上资源: http://tianlesoftware.download.csdn.net
相关视频:http://blog.csdn.net/tianlesoftware/archive/2009/11/27/4886500.aspx

DBA1 群:62697716(满); DBA2 群:62697977(满)

DBA3 群:62697850 DBA 超级群:63306533;

聊天 群:40132017

--加群需要在备注说明Oracle表空间和数据文件的关系,否则拒绝申请
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: