Windows 下通过计划任务执行数据库备份脚本

本文介绍在Windows环境下如何通过批处理脚本实现Oracle和MySQL数据库的自动备份,并提供了具体的脚本实例及运行中可能遇到的问题解决方案。

在Linux下可以通过crontab来设置定时执行数据库的备份脚本,同样Windows下可以通过设定任务计划程序来设定要执行的自动备份脚本。具体的设定过程不再详述,下面分别为Oracle和MySQL的备份脚本:

1.Windows 下Oracle的备份脚本:
@echo off
echo 数据库开始进行备份...
cd e:\ORACLE\BIN
set filename=%e:\backup_bat\local%date:~0,10%
exp giftsdev/giftsdev@local file=%filename%.dmp log=%filename%.log owner=giftsdev compress=y grants=y indexes=y constraints=y
jar cvf %filename%.jar %filename%.*
del %filename%.dmp
del %filename%.log
copy %filename%.jar e:\exp_data\local%date:~0,10%.jar
del %filename%.jar
echo 数据库备份完成
echo.& pause
 
 
2.Windows 下MySQL的备份脚本
echo 数据库开始备份...
 
set dirname=bak%date:~0,4%%date:~5,2%
 
set filename=tdoa-%nowdate%.rar
 
mysqldump -uroot -pmyoa888 td_oa > td_oa.sql
::E:\MYOA\mysql\bin\mysqldump.exe -uroot -pmyoa888 td_oa > td_oa.sql
 
rar a %filename% td_oa.sql
::%windir%\System32\WinRAR.exe a %filename% td_oa.sql
move %filename% F:\OA_BACKUP\%dirname%
del td_oa.sql
 
echo 数据库备份完成!
echo.& pause
 
备份过程中遇到的问题:
(1)     创建文件夹失败。在windows 2008下,默认的日期格式为类似 2010/12/27的样式,在根据日期创建文件夹或者文件时由于windows不允许有“/”特殊字符的存在,故报创建错误。这里使用“set nowdate=%date:~0,4%%date:~5,2%%date:~8,2%”分别取得年、月、日拼凑的形式变相实现。
(2)     环境变量问题。在写完上述脚本后,双击bat文件可以无误顺利的执行,但是扔到计划任务执行时就总是报错,具体为rar和mysqldump命令不存在。我怀疑是环境变量的设置没有生效,由于在服务器上不能轻易的执行服务器的重启,这里用rar和mysqldump的完整路径来代替(代码中的红色字体)
 
 
附:常见dos命令
1.dos下的复制和移动
c盘下的a.txt文件复制或移动到d盘
命令为:
复制copy c:\a.txt d:\a.txt
移动move c:\a.txt d:\a.txt
 
2.dos下的条件判断
if not exist F:\OA_BACKUP\%dirname% md F:\OA_BACKUP\%dirname%
(判断目录是否存在)
 
3.dos下的目录创建和删除
MD——建立子目录
RD——删除子目录
 
4. 关于%DATE:~4,10%的格式
这个命令的意思就是在DATE的输出中,取4-10中间的字符。
对于不同的机器,可能有不同的时间格式,这个可以在控制面板里设置。
可以通过ECHO命令察看当前设置,如:
C:>echo %DATE%
星期一 2002-10-28
当然,我们可以同样取到星期的值:
C:>echo %DATE:~0,3%
星期一
当然也可以从不同方向来:
C:>echo %DATE:~-10%
2002-10-28
C:>echo %DATE:~0,-10%
星期一
 
5. rar命令解压缩文件前要进行的操作:
1〉将winRAR.exe文件拷贝到system32文件夹下;
2〉将winRAR的安装路径放到环境变量中
rar打包文件:
rar a %filename%.rar %filename%.*
rar解压缩文件
rar e %filename%.rar
 
6.用jar打包解压文件必须在当前系统中装有jre环境
jar打包文件:
jar cvf %filename%.jar %filwname%.*
jar解压缩文件:
jar xvf %filename%.jar
 

本文转自 yubowei 51CTO博客,原文链接:http://blog.51cto.com/samyubw/465599

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值