Windows环境监控RMAN备份并发送邮件BAT脚本

公司有许多的客户都在运用ORACLE数据库,但由于客户对IT熟悉程度有限无法实现每日检查,也没有预算构筑监控系统。我只能曲线救国方式来保障客户业务的连续性。通过BAT脚本监控备份日志,如果有捕获的关键字,那么就发送出提示邮件。

邮件发送工具采用开源软件BLAT https://sourceforge.net/projects/blat/ ,程序无需安装解压即可。

BAT脚本内容:

@echo off
:: Author:Eric.zhong(ericzhong2010@qq.com)
:: Version:0.9Beta-20190901
 
:::::::::::::: 常规系统参数设置 ::::::::::::::
set INI_FILENAME=RMANconfig.ini
for /F "usebackq eol=# tokens=1,2 delims==" %%a in ("%INI_FILENAME%") do (
set %%a=%%b
)

for /f "tokens=2 delims==" %%a in ('wmic path win32_operatingsystem get LocalDateTime /value') do (
  set dateformat=%%a
)
set LOGDATE=%dateformat:~0,4%%dateformat:~4,2%%dateformat:~6,2%
set TEMPLOG=RMANBACKUP_TEMPLOG

:::::::::::::: 发送邮件参数设置 ::::::::::::::
 set server=%server%
 set user=%user%
 set pass=%pass%
 set from=%from%
 set to=%to%

REM 备份日志生成判断
if not exist %LOGPath%%LOGPrefix%%LOGDATE%%LOGExt% ( echo RMAN备份日志不存在,请检查RMAN备份计划任务! > %TEMPLOG%.txt && GOTO RMANLOG_NG )

REM 文件关键字判断
type %LOGPath%%LOGPrefix%%LOGDATE%%LOGExt% | findstr "%Keyword%" > %TEMPLOG%.txt

set n=0
for /f "delims=" %%f in (%TEMPLOG%.txt) do (
set /a n+=1
)
 
if %n% GTR 0 GOTO NG
if %n% EQU 0 GOTO OK
exit

:RMANLOG_NG
set subj="[%TitleName%] RMAN备份日志不存在,请检查RMAN备份计划任务!"
set mail=%TEMPLOG%.txt
set attach=%TEMPLOG%.txt
%BlatPath%\blat.exe %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -attach %attach% -server %server% -f %from% -u %user% -pw %pass% %debug% 
del %TEMPLOG%.txt
exit

:NG
set subj="[%TitleName%] RMAN备份失败"
set mail=%TEMPLOG%.txt
set attach=%LOGPath%%LOGPrefix%%LOGDATE%%LOGExt%
%BlatPath%\blat.exe %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -attach %attach% -server %server% -f %from% -u %user% -pw %pass% %debug%
del %TEMPLOG%.txt
exit

:OK
set subj="[%TitleName%] RMAN备份成功"
set mail=%TEMPLOG%.txt
set attach=%LOGPath%%LOGPrefix%%LOGDATE%%LOGExt%
%BlatPath%\blat.exe %mail% -to %to% -base64 -charset Gb2312 -subject %subj% -attach %attach% -server %server% -f %from% -u %user% -pw %pass% %debug%
echo %subj% >> %TEMPLOG%.txt
del %TEMPLOG%.txt
exit

RMANConfig.ini配置文件

# Author:Eric.zhong(ericzhong2010@qq.com)
# Version:0.9Beta

# 常规系统参数配置
TitleName=测试环境
BlatPath=.\blat
LOGPath=D:\RMANBACKUP_LOG\
LOGPrefix=RMAN_
LOGExt=.log
Keyword=RMAN-

# 发送邮件参数配置
server=
user=
pass=
from=

# 接收邮件参数配置
to=ericzhong2010@qq.com

# 其他参数配置
#debug=-debug -log blat.log -timestamp
debug=

邮件样本:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值