window 自動備份oracle數據庫并上傳到ftp

xiangkun 14年前發布 | 3K 次閱讀 Linux

<PRE class=java style="FONT-WEIGHT: bold; BACKGROUND-COLOR: #c5c5c5" name="code">將下面代碼復制后,新建backup.bat文件。

Java代碼 rem ***備份數據**

echo =========================================================== >> backup.log
echo 開始數據庫備份 時間 : %date% %time% >> backup.log

rem 備份 數據庫 2

exp vehesadmin/oracle@orcl92 file=d:\backup\dbbak\vehes%date:~0,10%.dmp log=d:\backup\dbbak\vehes_%date:~0,10%.log compress=n buffer=8092 consistent=y direct=n constraints=y feedback=10000 grants=y record=y indexes=y triggers=y rows=y

rem **壓縮 數據庫備份*

rem 壓縮 VEHES 數據庫備份

C:\progra~1\winrar\winrar.exe a -ibck d:\backup\rarbak\vehes%date:~0,10%.rar d:\backup\dbbak\vehes%date:~0,10%.dmp d:\backup\dbbak\vehes_%date:~0,10%.log >> backup.log

rem *刪除 數據臨時備份文件*

del /f d:\backup\dbbak\vehes_%date:~0,10%.dmp

del /f d:\backup\dbbak\vehes_%date:~0,10%.log

echo 結束數據庫備份 時間 : %date% %time% >> backup.log

rem 得到前7天的日期

echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs

for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i

for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j

for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k

if %m% LSS 9 set m=0%m%

if %d% LSS 9 set d=0%d%

set deldate=%y%-%m%-%d%

rem 刪除7天前程序備份

echo 開始刪除 d:\backup\rarbak*_%deldate%.rar at : %date% %time% >> backup.log

del /f d:\backup\rarbak*_%deldate%.rar

echo 結束刪除 d:\backup\rarbak*_%deldate%.rar at : %date% %time% >> backup.log

rem 開始使用ftp客戶端連接 ,并執行腳本

@echo off

echo open 127.0.0.1 >> backup_ftp.log

echo xk >> backup_ftp.log

echo xk >> backup_ftp.log

echo send d:\backup\rarbak\vehes_%date:~0,10%.rar >> backup_ftp.log

echo bye >> backup_ftp.log

ftp -s:backup_ftp.log

rem 刪除臨時文件

del /f backup_ftp.log
rem ***備份數據**

echo =========================================================== >> backup.log echo 開始數據庫備份 時間 : %date% %time% >> backup.log

rem 備份 數據庫 2

exp vehesadmin/oracle@orcl92 file=d:\backup\dbbak\vehes%date:~0,10%.dmp log=d:\backup\dbbak\vehes_%date:~0,10%.log compress=n buffer=8092 consistent=y direct=n constraints=y feedback=10000 grants=y record=y indexes=y triggers=y rows=y

rem **壓縮 數據庫備份*

rem 壓縮 VEHES 數據庫備份

C:\progra~1\winrar\winrar.exe a -ibck d:\backup\rarbak\vehes%date:~0,10%.rar d:\backup\dbbak\vehes%date:~0,10%.dmp d:\backup\dbbak\vehes_%date:~0,10%.log >> backup.log

rem *刪除 數據臨時備份文件*

del /f d:\backup\dbbak\vehes_%date:~0,10%.dmp

del /f d:\backup\dbbak\vehes_%date:~0,10%.log

echo 結束數據庫備份 時間 : %date% %time% >> backup.log

rem 得到前7天的日期

echo wscript.echo dateadd("d",-7,date) >%tmp%\tmp.vbs

for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set y=%%i

for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set m=%%j

for /f "tokens=1,2,3 delims=/- " %%i in ('cscript /nologo %tmp%\tmp.vbs') do set d=%%k

if %m% LSS 9 set m=0%m%

if %d% LSS 9 set d=0%d%

set deldate=%y%-%m%-%d%

rem 刪除7天前程序備份

echo 開始刪除 d:\backup\rarbak*_%deldate%.rar at : %date% %time% >> backup.log

del /f d:\backup\rarbak*_%deldate%.rar

echo 結束刪除 d:\backup\rarbak*_%deldate%.rar at : %date% %time% >> backup.log

rem 開始使用ftp客戶端連接 ,并執行腳本

@echo off

echo open 127.0.0.1 >> backup_ftp.log

echo xk >> backup_ftp.log

echo xk >> backup_ftp.log

echo send d:\backup\rarbak\vehes_%date:~0,10%.rar >> backup_ftp.log

echo bye >> backup_ftp.log

ftp -s:backup_ftp.log

rem 刪除臨時文件

del /f backup_ftp.log

C代碼 百度了一個童鞋的代碼后,不知道是我不會用,還是他的本來就有問題。
百度了一個童鞋的代碼后,不知道是我不會用,還是他的本來就有問題。 C代碼 稍微改了下,經過改正,的確可用,現發布上來給大家分享分享。已測試。
稍微改了下,經過改正,的確可用,現發布上來給大家分享分享。已測試。 C代碼 第一個xk為FTP用戶名,第二個xk為密碼。。其它應該不用說了!
第一個xk為FTP用戶名,第二個xk為密碼。。其它應該不用說了! C代碼 前提是:在D盤需要手動創建好D:\backup\dbbak及D:\backup\rarbak 兩個文件夾。。 </PRE>


 

 本文由用戶 xiangkun 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!