Python 发送 RMAN 备份 Log 脚本
Python 发送 RMAN 备份 Log 脚本
RMAN 备份的日志放到一个文件里了。 之前的Nocatalg 下的备份脚本是使用Linux 的sendmail 来发送的。 不过这玩意影响系统的启动时间。 还是关了用Python来发送的。 备份完之后,调用一下脚本。 把RMAN的日志发送到邮箱。 早上来看下邮件,就知道备份是否成功了。 不然一台一台连服务器,有点小累。
Nocatalog 下的RMAN 增量备份 shell脚本
这个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='www.bkjia.com@www.bkjia.com'
SMTP_SERVER='192.168.1.100'
EMAIL_USER='tianlesoftware'
EMAIL_PASSWD='pwd'
TO_USERS=['www.bkjia.com@www.bkjia.com', 'www.bkjia.com@www.bkjia.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
评论暂时关闭