数据库自动备份脚本并删除前3天的备份

@echo off
echo ================================================ 
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo  2. 自动删除3天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0@echo off
echo ================================================ 
echo  Windows环境下Oracle数据库的自动备份脚本
echo  1. 使用当前日期命名备份文件。
echo  2. 自动删除3天前的备份。
echo ================================================
::以“YYYYMMDD”格式取出当前时间。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
set CURTIME=%time:~0,2%
REM 小时数如果小于10,则在前面补0
if "%CURTIME%"==" 0" set CURTIME=00
if "%CURTIME%"==" 1" set CURTIME=01
if "%CURTIME%"==" 2" set CURTIME=02
if "%CURTIME%"==" 3" set CURTIME=03
if "%CURTIME%"==" 4" set CURTIME=04
if "%CURTIME%"==" 5" set CURTIME=05
if "%CURTIME%"==" 6" set CURTIME=06
if "%CURTIME%"==" 7" set CURTIME=07
if "%CURTIME%"==" 8" set CURTIME=08
if "%CURTIME%"==" 9" set CURTIME=09
set CURTIME=%CURTIME%%time:~3,2%%time:~6,2%
::设置用户名、密码和要备份的数据库。
set USER=ciss
set PASSWORD=ciss
set DATABASE=orcl
::创建备份目录。
if not exist "G:oracle_dataciss_backupdata%BACKUPDATE% "     mkdir G:oracle_dataciss_backupdata%BACKUPDATE%
if not exist "G:oracle_dataciss_backupdata%BACKUPDATE%log"      mkdir G:oracle_dataciss_backupdata%BACKUPDATE%log
set DATADIR=G:oracle_dataciss_backupdata
set LOGDIR=G:oracle_dataciss_backupdata%BACKUPDATE%log
:: 在这里打算使用数据泵进行备份数据库 结果遇到 无法打开日志文件 和操作无效的 错误!
expdp %USER%/%PASSWORD%@%DATABASE% directory=ciss_backupdata  DUMPFILE=%USER%_%BACKUPDATE%%CURTIME%.dmp LOGFILE=log_%BACKUPDATE%_%CURTIME%.log  SCHEMAS=CISS 
::删除3天前的备份。
::FORFILES /p G:oracle_dataciss_backupdata /S /D -3 /C "cmd /c IF @isdir == TRUE rmdir /S /Q @path"
rem forfiles /p "%LOGDIR%" /s /m *.* /d -3 /c "cmd /c del @path"
::xcopy DATADIR%DATADIR%%USER%_%BACKUPDATE%%CURTIME%.dmp \192.168.1.55测试版本数据库备份CISS
rem move "G:oracle_dataciss_backupdata*.dmp " "G:oracle_dataciss_backupdata%BACKUPDATE%"
rem move "G:oracle_dataciss_backupdata*.log " "G:oracle_dataciss_backupdata%BACKUPDATE%log"
 move "G:oracle_dataciss_backupdata*.dmp " "G:oracle_dataciss_backupdata%BACKUPDATE%"
 move "G:oracle_dataciss_backupdata*.log " "%LOGDIR%"
FORFILES /p G:oracle_dataciss_backupdata /S /D -3 /C "cmd /c IF @isdir == TRUE rmdir /S /Q @path"
  
原文地址:https://www.cnblogs.com/linbo3168/p/6025533.html