数据库自动备份脚本并删除前3天的备份
生活随笔
收集整理的這篇文章主要介紹了
数据库自动备份脚本并删除前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_data\ciss_backupdata\%BACKUPDATE% " mkdir G:\oracle_data\ciss_backupdata\%BACKUPDATE%
if not exist "G:\oracle_data\ciss_backupdata\%BACKUPDATE%\log" mkdir G:\oracle_data\ciss_backupdata\%BACKUPDATE%\log
set DATADIR=G:\oracle_data\ciss_backupdata
set LOGDIR=G:\oracle_data\ciss_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_data\ciss_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_data\ciss_backupdata\*.dmp " "G:\oracle_data\ciss_backupdata\%BACKUPDATE%"
rem move "G:\oracle_data\ciss_backupdata\*.log " "G:\oracle_data\ciss_backupdata\%BACKUPDATE%\log"move "G:\oracle_data\ciss_backupdata\*.dmp " "G:\oracle_data\ciss_backupdata\%BACKUPDATE%"move "G:\oracle_data\ciss_backupdata\*.log " "%LOGDIR%"
FORFILES /p G:\oracle_data\ciss_backupdata /S /D -3 /C "cmd /c IF @isdir == TRUE rmdir /S /Q @path"
?
轉載于:https://www.cnblogs.com/linbo3168/p/6025533.html
總結
以上是生活随笔為你收集整理的数据库自动备份脚本并删除前3天的备份的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: bzoj4330:JSOI2012 爱之
- 下一篇: C语言 · 前缀表达式