RMAN 备份的日志放到一个文件里了。 之前的Nocatalg 下的备份脚本是使用Linux 的sendmail 来发送的。 不过这玩意影响系统的启动时间。 还是关了用Python来发送的。 备份完之后,调用一下脚本。 把RMAN的日志发送到邮箱。 早上来看下邮件,就知道备份是否成功了。 不然一台一台连服务器,有点小累。
Nocatalog 下的RMAN 增量备份 shell脚本
http://www.cndba.cn/Dave/article/1476
这个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