手机
当前位置:查字典教程网 >脚本专栏 >vbs >使用批处理文件异地备份数据库(最近几天的数据)
使用批处理文件异地备份数据库(最近几天的数据)
摘要:为了保障服务器中数据的可恢复性,采用异地备份数据库方案。异地备份数据分为异地备份文件数据与异地备份数据库数据二种。其中异地备份文件数据是为了...

为了保障服务器中数据的可恢复性,采用异地备份数据库方案。异地备份数据分为异地备份文件数据与异地备份数据库数据二种。其中异地备份文件数据是为了备份网站中用户上传的文件而设计的。而异地备份数据库数据是将数据库中数据备份文件上传到异地服务器。

一、实施过程及原理为:

1. 需安装WinRAR软件,用于将多个待备份文件压缩成一个压缩文件。

2. 书写备份脚步:

目录定位到WinRAR软件安装路径下

cd c:program fileswinrar

执行rar.exe程序

rar a -r -y c:c.rar c:ca c:cb

连接远程ftp服务器,其中要书写ftp://ftp.txt/文件

ftp -s:c:ftp.txt 192.168.0.1

可删除本地备份文件

del /f /q c:c.rar

目录重新定位

cd

完整代码如下(back.bat):

复制代码 代码如下:

cd c:program fileswinrar

rar a -r -y c:c.rar c:ca c:cb

ftp -s:c:ftp.txt 192.168.0.1

del /f /q c:c.rar

cd

3. 书写远程ftp连接配置文件

用户名

密码

cd 路径

Put 本地文件路径及文件名 远程文件路径及文件名

Bye为退出

完整代码如下(ftp.txt):

admin

Heroic

put c:c.rar c.rar

bye

4. 通过windows自带的“任务计划”功能定时运行bat文件。(通过“开始”->“附近”->“系统工具”->“任务计划”

5. 备份oracle数据库命令为:

exp userid/pwd@servicename file = "backupfilepath" owner = user

注意userid为系统管理员,backupfilepath为文件保存路径(文件后缀为dmp) ,user是针对那个用户进行备份,如果不写该参数,则默认针对userid用户进行备份

例如:

exp user/pwd@servername file=d:"backup"oracle"oracle%date:~0,10%.dmp owner=system log=d:"backup"oracle"oracle%date:~0,10%.log

(其中%date:~0,10% 为取当前系统时间。0为开始位置,10为结束位置)

复制代码 代码如下:

set files=c:backup%date:~0,10%.rar

set dbfilesdmp=c:backup%date:~0,10%db.dmp

set userdb="jbpmdemo"

set pwddb="jbpmdemo"

set domain="master.jhserver"

set filespath=c:ca c:cb

set ftpfile="c:backupftp.txt"

set ftpname=admin

set ftppwd=Heroic

set ftpfiles="%date:~0,10%.rar"

set ftpdbfiles="%date:~0,10%db.rar"

set ftpdomain="192.168.0.1"

set rarpath="c:program fileswinrar"

@echo 开始备份数据库

exp %userdb%/%pwddb%@%domain% file="%dbfilesdmp%"

@echo 开始压缩文件

c:

cd c:program fileswinrar

rar a -r -y %files% %filespath% %dbfilesdmp%

@echo 写入文件ftp

@echo %ftpname%>%ftpfile%

@echo %ftppwd%>>%ftpfile%

@echo put %files% %ftpfiles%>>%ftpfile%

@echo bye>>%ftpfile%

@echo 上传%files%.rar文件

ftp -s:%ftpfile% 192.168.0.1

del /f /q %files%

数据库异地备份对一个网站来说是非常必要的,这里谈一下使用批处理文件对数据库异地本份的过程,首先需要准备两个文件,一个是ftp.txt(存储ftp命令),一个是movefile.bat(存储dos命令).

==========ftp.txt

open服务器的ip地址

ftp用户名

ftp密码

bin

get数据库名.mdb

bye

quit

上面是简单的例子,具体的要看你的数据库存放的路径、一次性获得多个文件。可以加上cd,mget等ftp命令

==========movefile.bat

@echooff

ftp-i-s:ftp.txt

remdateformatis"YYYY-MM-DD"

setdt=%date:~0,10%

settd=%date:~0,10%

remset/Pdt="InputDate:"

remset/Ptd="InputDate:"

seti=1

:forok

if%i%==1gotoi01

if%i%==2gotoi02

if%i%==3gotoi03

if%i%==4gotoi04

if%i%==5gotoi05

:i01

seti=2

gotonextok

:i02

seti=3

gotonextok

:i03

seti=4

gotonextok

:i04

seti=5

gotonextok

:i05

seti=6

gotonextok

:nextok

setdy=%dt:~0,4%

setdm=%dt:~5,2%

setdd=%dt:~8,2%

if%dm%%dd%==0101gotoL01

if%dm%%dd%==0201gotoL02

if%dm%%dd%==0301gotoL07

if%dm%%dd%==0401gotoL02

if%dm%%dd%==0501gotoL04

if%dm%%dd%==0601gotoL02

if%dm%%dd%==0701gotoL04

if%dm%%dd%==0801gotoL02

if%dm%%dd%==0901gotoL02

if%dm%%dd%==1001gotoL05

if%dm%%dd%==1101gotoL03

if%dm%%dd%==1201gotoL06

if%dd%==02gotoL10

if%dd%==03gotoL10

if%dd%==04gotoL10

if%dd%==05gotoL10

if%dd%==06gotoL10

if%dd%==07gotoL10

if%dd%==08gotoL10

if%dd%==09gotoL10

if%dd%==10gotoL11

set/Add=dd-1

setdt=%dy%-%dm%-%dd%

gotoEND

:L10

set/Add=%dd:~1,1%-1

setdt=%dy%-%dm%-0%dd%

gotoEND

:L11

setdt=%dy%-%dm%-09

gotoEND

:L02

set/Adm=%dm:~1,1%-1

setdt=%dy%-0%dm%-31

gotoEND

:L04

set/Adm=dm-1

setdt=%dy%-0%dm%-30

gotoEND

:L05

setdt=%dy%-09-30

gotoEND

:L03

setdt=%dy%-10-31

gotoEND

:L06

setdt=%dy%-11-30

gotoEND

:L01

set/Ady=dy-1

setdt=%dy%-12-31

gotoEND

:L07

set/A"dd=dy%%4"

ifnot%dd%==0gotoL08

set/A"dd=dy%%100"

ifnot%dd%==0gotoL09

set/A"dd=dy%%400"

if%dd%==0gotoL09

:L08

setdt=%dy%-02-28

gotoEND

:L09

setdt=%dy%-02-29

gotoEND

:END

if%i%==2gotoforok

if%i%==3gotoforok

if%i%==4gotoforok

if%i%==5gotoforok

if%i%==6gotomdb

:mdb

echocopy%td%

echodel%dt%

copy数据库名.mdb"%td%".mdb

del"%dt%".mdb

上面是备份最近5天的数据,每天一个。你可以修改上面的代码到最近6、7。。。。n天

如:修改成6天

if%i%==5gotoi05下增加

if%i%==6gotoi06

:i05

seti=6

gotonextok下增加

:i06

seti=7

gotonextok

if%i%==6gotomdb改为

if%i%==6gotoforok

if%i%==7gotomdb

依次类推。。。。到n天:-)

以上两个文件准备好了,我们可以使用windows自带的任务计划来计划程序每天自动去备份数据了

具体步骤:控制面板--》任务计划--》添加任务计划。。。。选择每天。。。选择movefile.bat

就ok了。

【使用批处理文件异地备份数据库(最近几天的数据)】相关文章:

用vbs实现按创建日期的顺序列出一个文件夹中的所有文件

vbs解决处理TXT文本数据相关问题实现代码

VBS教程:函数-转换函数

下载文件到本地运行的vbs

VBS获取文件MD5值(无组件)

文件备份vbs脚本

用vbs遍历文件并随机显示的脚本

使用vbs下载文件的代码加强版

用vbs读取Excel文件的函数代码

用vbs实现对文本文件中的项计数

精品推荐
分类导航