批處理文件(.bat)
- @echo off
- echo ================================================
- echo Windows環境下Oracle數據庫的自動備份腳本
- echo 1. 使用當前日期命名備份文件。
- echo 2. 自動刪除7天前的備份。
- echo ================================================
- ::以“YYYYMMDD”格式取出當前時間。
- set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%
- ::設置用戶名、密碼和要備份的數據庫。
- set USER=xxx
- set PASSWORD=123456
- set DATABASE=dbtest
- ::創建備份目錄。
- if not exist "D:\backup\data" mkdir D:\backup\data
- if not exist "D:\backup\log" mkdir D:\backup\log
- set DATADIR=D:\backup\data
- set LOGDIR=D:\backup\log
- exp %USER%/%PASSWORD%@%DATABASE% file=%DATADIR%\data_%BACKUPDATE%.dmp log=%LOGDIR%\log_%BACKUPDATE%.log
- ::刪除7天前的備份。
- forfiles /p "%DATADIR%" /s /m *.* /d -7 /c "cmd /c del @path"
- forfiles /p "%LOGDIR%" /s /m *.* /d -7 /c "cmd /c del @path"
- exit