功能:全量备份,增量备份,MD5计算,备份文件拷贝,备份结果监测
@echo off
setlocal
REM ################# Setting Environment Variables ############################################################
set BK_DATE=%date:~0,4%%date:~5,2%%date:~8,2%
for /f "tokens=2 delims=:" %%i in ('ipconfig ^| findstr /i "ipv4"') do set "HOST=%%i"
set "HOST=%HOST: =%"
set BAKPATH=D:\BACKUP\%HOST%\%ORACLE_SID%
set DATADIR=%BAKPATH%\%BK_DATE%
set LOGDIR=%BAKPATH%\logs
set STATUS=0
set DB_TYPE=Oracle
set MD5_FILE=%DATADIR%\%BK_DATE%.md5
set REMOTE_DIR=\\192.168.0.72\backup\%HOST%\%BK_DATE%\
REM ################ Create directories if don't exist #####################################################
if not exist "%BAKPATH%" mkdir "%BAKPATH%"
if not exist "%DATADIR%" mkdir "%DATADIR%"
if not exist "%LOGDIR%" mkdir "%LOGDIR%"
REM ################################ MAIN Function ############################################################
:MAIN_JOB
for /f "tokens=2 delims==" %%a in ('wmic path win32_localtime get dayofweek /value ^| find "="') do set DAY=%%a
call :rman_delete_old
if "%DAY%"=="6" (
echo Today is Saturday
call :rman_full_backup
) else (
echo Today is not Saturday
call :rman_incr_backup
)
REM Make Md5
call:calculate_md5
if %errorlevel% neq 0 set /a STATUS+=1
REM Copy Files
call:copy_files
if %erro