window 自动备份oracle数据库并上传到ftp
将下面代码复制后,新建backup.bat文件。 Java代码 rem ***********备份数据************** echo =========================================================== >> backup.log echo 开始数据库备份 时间 : %date% %time% >> backup.log rem 备份 数据库 2 exp vehes_admin/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 vehes_admin/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 两个文件夹。。