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資料表空間和資料檔案的關係,否則拒絕申請