手机
当前位置:查字典教程网 >脚本专栏 >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获取文件MD5值(无组件)

VBS教程:属性-Count 属性

vbs 批量修改文件,bat 批处理文件调用执行vbs,并在cmd窗口打印返回值(vbs运行结果)

VBS 批量读取文件夹内所有的文本到Excel的脚本

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

利用vbscript脚本修改文件内容,此适用于自动化的操作中

vbs生成ACCESS数据里所有表的字段

使用 Iisftp.vbs 停止FTP站点的方法

用vbs实现的简单的服务器文件备份办法压缩文件名自动按日期命名

精品推荐
分类导航