公司有许多的客户都在运用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=
邮件样本: