@echo off setlocal enabledelayedexpansion REM =================================================================== REM Oracle RMAN FULL Backup with Logging REM Runs at: 02:30 AM (scheduled task) REM Duration: ~30 minutes REM =================================================================== REM Get script directory (where this .bat file is located) set SCRIPTDIR=%~dp0 set LOGDIR=%SCRIPTDIR%logs set TIMESTAMP=%date:~-4,4%%date:~-7,2%%date:~-10,2%_%time:~0,2%%time:~3,2%%time:~6,2% set TIMESTAMP=%TIMESTAMP: =0% set LOGFILE=%LOGDIR%\backup_full_%TIMESTAMP%.log REM Create log directory if not exists if not exist "%LOGDIR%" mkdir "%LOGDIR%" echo ========================================= >> "%LOGFILE%" 2>&1 echo Oracle RMAN FULL Backup Started >> "%LOGFILE%" 2>&1 echo Date: %date% %time% >> "%LOGFILE%" 2>&1 echo Script Directory: %SCRIPTDIR% >> "%LOGFILE%" 2>&1 echo ========================================= >> "%LOGFILE%" 2>&1 echo. >> "%LOGFILE%" 2>&1 REM Run RMAN backup - show in console AND save to log (using PowerShell tee) powershell -Command "& cmd.exe /c 'rman target sys/romfastsoft@roa cmdfile=\"%SCRIPTDIR%rman_backup.txt\"' 2>&1 | Tee-Object -FilePath '%LOGFILE%' -Append" set EXITCODE=%ERRORLEVEL% echo. >> "%LOGFILE%" 2>&1 echo ========================================= >> "%LOGFILE%" 2>&1 echo Oracle RMAN FULL Backup Completed >> "%LOGFILE%" 2>&1 echo Date: %date% %time% >> "%LOGFILE%" 2>&1 echo Exit Code: %EXITCODE% >> "%LOGFILE%" 2>&1 echo ========================================= >> "%LOGFILE%" 2>&1 REM Print summary to console echo [%date% %time%] RMAN FULL backup completed with exit code: %EXITCODE% echo [%date% %time%] Log file: %LOGFILE% exit /b %EXITCODE%