Windows环境下Oracle数据库的自动备份脚本
@echo off echo ================================================ echo Windows环境下Oracle数据库的自动备份脚本 echo 1. 使用当前日期命名备份文件。 echo 2. 自动删除30天前的备份。 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=carbon_zhenjiang_bak set PASSWORD=carbon_zhenjiang_bak set DATABASE=orcl ::创建备份目录。 if not exist "D:\backup\data\%BACKUPDATE% " mkdir D:\backup\data\%BACKUPDATE% if not exist "D:\backup\log\%BACKUPDATE% " mkdir D:\backup\log\%BACKUPDATE% set DATADIR=D:\backup\data\%BACKUPDATE% set LOGDIR=D:\backup\log\%BACKUPDATE% exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\%USER%_%BACKUPDATE%%CURTIME%.dmp log=%LOGDIR%\log_%BACKUPDATE%%CURTIME%.log ::删除30天前的备份。 forfiles /p "%DATADIR%" /s /m *.* /d -30 /c "cmd /c del @path" forfiles /p "%LOGDIR%" /s /m *.* /d -30 /c "cmd /c del @path" exit
郑重声明:本站内容如果来自互联网及其他传播媒体,其版权均属原媒体及文章作者所有。转载目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。