window 自動備份oracle數據庫并上傳到ftp
<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>