码迷,mamicode.com
首页 > 数据库 > 详细

windows下使用bat批处理文件定时自动备份oracle数据库并上传ftp服务器

时间:2018-07-06 14:16:01      阅读:257      评论:0      收藏:0      [点我收藏+]

标签:pat   hash   upload   自动备份   log   exit   用户名   date   bye   

使用bat批处理文件备份oracle(前提是配置好oracle数据库客户端)
在D盘目录下创建个dbbackup目录建个dbbak.bat

@echo off   

echo ================================================   

echo  Windows环境下Oracle数据库的自动备份脚本  

echo  1. 使用当前日期命名备份文件。  

echo  2. 自动删除15天前的备份。  

echo ================================================  

::以“YYYYMMDD”格式取出当前时间。  

set BACKUPDATE=%date:~0,4%%date:~5,2%%date:~8,2%%Time:~0,2%%Time:~3,2%%Time:~6,2%

::创建备份目录。  

if not exist "D:\dbbackup\data"    mkdir D:\dbbackup\data  

if not exist "D:\dbbackup\log"     mkdir D:\dbbackup\log  

set DATADIR=D:\dbbackup\data

set LOGDIR=D:\dbbackup\log

exp userid=‘ntes/123@orcl‘  file=%DATADIR%\njtes_%BACKUPDATE%.dmp log=%LOGDIR%\njtesog_%BACKUPDATE%.log  

::删除15天前的备份。  

forfiles /p "%DATADIR%" /s /m *.* /d -15 /c "cmd /c del @path"  

forfiles /p "%LOGDIR%" /s /m *.* /d -15 /c "cmd /c del @path" 

::上传文件到FTP服务器
echo open IP地址>ftpupload.txt
echo user 用户名 密码>>ftpupload.txt
echo binary>>ftpupload.txt     //设定以二进制方式传送文件
echo hash>>ftpupload.txt       //切换已传输的每个数据块的数字签名 (#) 打印
echo put  %DATADIR%\njtes_%BACKUPDATE%.dmp>>ftpupload.txt      //上传文件
echo bye>>ftpupload.txt
ftp -n -s:ftpupload.txt
del ftpupload.txt /q     .//删除生成的ftpupload.txt文件,这个文件都是上面的信息可以不用保留
exit

注:dbbak.bat备份脚本放在了D:\dbbackup,如果ftpupload.txt文件不做删除的话会在dbbak.bat脚本的(D:\dbbackup)同级目录生成的。

windows下使用bat批处理文件定时自动备份oracle数据库并上传ftp服务器

标签:pat   hash   upload   自动备份   log   exit   用户名   date   bye   

原文地址:http://blog.51cto.com/meiling/2137100

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!