1. 程式人生 > >ORACLE自動備份-壓縮格式,定期刪除.bat

ORACLE自動備份-壓縮格式,定期刪除.bat

@echo off
echo ================================================
echo Windows環境下Oracle資料庫的自動備份指令碼--YPWANG
echo 1. 使用當前日期命名備份檔案。
echo 2. 採用WinRAR壓縮DMP和LOG檔案
echo 3. 自動刪除30天前的備份。(可修改)
echo ================================================
::以“YYYYMMDD”格式取出當前時間。
set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
::設定使用者名稱、密碼和要備份的資料庫。
set USER=ddaccrm
set PASSWORD=123
set DATABASE=orcl
::建立備份目錄。
::下面修改為自己的設定
if not exist "I:\backup" mkdir I:\backup
set BACKUP=I:\backup
::軟體winrar 安裝位置可執行檔案,注意路徑不要有空格
set RAREXE=e:\WinRAR\rar.exe

::執行匯出
exp %USER%/%PASSWORD%@%DATABASE% file=%BACKUP%\data_%BACKUPDATE%.dmp log=%BACKUP%\log_%BACKUPDATE%.log
::執行壓縮
%RAREXE% a %BACKUP%\data_%BACKUPDATE%.rar %BACKUP%\data_%BACKUPDATE%.dmp %BACKUP%\log_%BACKUPDATE%.log
::壓縮完成後執行刪除匯出檔案
del /q %BACKUP%\data_%BACKUPDATE%.dmp
del /q %BACKUP%\log_%BACKUPDATE%.log

::刪除30天前的備份。 具體刪除天數把 下面30 改為自己的天數
forfiles /p %BACKUP% /s /m *.* /d -30 /c "cmd /c del @path"
exit