使用批处理实现mysql的数据库备份与上传

来源:站长家园 时间:2012-01-05 19:30:23 

有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上

要是在linux上,shell 脚本很容易就搞定了,在windows上习惯了点鼠标,哪里来的脚本,一时还真不知道该怎么弄.baidu,google得知可以通过批处理或者vbs脚本实现.

批处理是比较简单的,毕竟dos的常用命令还是知道的

解决思路:

使用批处理文件,实现备份和上传的功能

将批处理文件加到计划任务中实现每日定时执行脚本

完整的批处理文件如下 文件名dbbk.bat

@echo off

:: this batch is to backup the db files on windows to linux server

:: created by yahoon

:: 2008.4.9

::backup the mysql db

mysqldump -uroot –pxxxx demo>c:demo %date:~0,10%.sql

::pause

:: wait press any key to continue

:: ready to delete

::form the ftp command file

echo open 服务器ip>c:ftpdemo.txt

echo ftp用户名>>c:ftpdemo.txt

echo ftp密码>>c:ftpdemo.txt

echo put c: demo %date:~0,10%.sql >>c:ftpdemo.txt

echo bye>>c:ftpdemo.txt

::transfer the file to server via ftp

ftp -i -s:c:ftpdemo.txt

::pause

::clean the tmp files

del c:ftpdemo.txt

del c: demo %date:~0,10%.sql

说明:

1. 双冒号::后面的内容为注释,不会执行

2. 两处pause语句是调试的时候用的,运行pause的结果是屏幕上显示”按任意键继续”,脚本等着用户按键才会往下执行

3. demo %date:~0,10%.sql 是备份的文件名,最后的结果是demo20080409.sql ,其中%date:~0,10%表示的是date命令输出的字符串中从第0个开始的10个字符.这点很重要,因为我在英文的OS上,执行这个脚本在备份的时候报文件名错误.这是因为当你执行date命令的时候结果是

Tue 04/08/2008

要达到demo20080409.sql这样的效果文件名就要这么写demo%date:~10,4%%date:~4,2%%date:~7,2%.sql

最后提一下写的过程中解决的一个问题

由于脚本的思路是做备份,然后通过ftp上传

所以最开始写的时候没有::form the ftp command file 这一段.而是写好一个ftpdemo.txt放在那

这就出现了一个问题,由于生成的sql文件名每天都变,这样ftp命令也得改.写死的ftpdemo.txt文件肯定就实现不了.

想出了个笨主意是批处理文件里面生成的sql文件就定义死文件名为demo.sql,这样ftpdemo.txt文件也可以写死.然后等上传以后,再通过linux的脚本通过crontab来每天改名.

标签:批处理,mysql,备份
0
投稿

猜你喜欢

  • 纯CSS Tooltips提示

    2008-10-18 16:01:00
  • ASP 80040e14错误的解决方法

    2011-03-17 11:21:00
  • 浅谈图表参数化设计

    2010-08-29 18:03:00
  • 请给PNG8一个机会:对png8的误解

    2009-09-21 10:45:00
  • 实现文字放大效果Javascript源码

    2010-03-17 20:46:00
  • Asp中Server.ScriptTimeOut脚本超时属性需要注意的一点

    2008-10-18 14:53:00
  • 快速掌握怎样选择准备安装的 MySQL版本

    2008-12-17 16:42:00
  • Oracle与MySQL删除字段时对索引和约束的处理

    2008-12-26 16:41:00
  • php面向对象程序设计介绍

    2023-05-25 05:31:11
  • mysql3升级到mysql5解决乱码心得

    2009-04-20 14:41:00
  • 防采集,几种觉得有用的防采集方法

    2009-09-03 13:30:00
  • 利用xmlhttp和adodb.stream加缓存技术下载远程Web文

    2009-04-23 18:33:00
  • ASP中Session技巧 默认过期时间为20分钟

    2012-12-04 20:28:26
  • 用ASP+XML打造留言本实例

    2007-08-13 10:38:00
  • asp 自定义分段函数/求第N名成绩

    2011-03-25 11:07:00
  • MYSQL教程:检查数据表和修复数据表

    2009-03-11 15:24:00
  • SQL Server备份和灾难恢复

    2010-07-02 12:54:00
  • 产品交互原型设计工具分享

    2010-03-24 18:06:00
  • 如何把ACCESS转成SQL数据库

    2007-08-11 13:51:00
  • FSO遍历文件夹目录及目录下文件asp代码

    2008-10-10 12:54:00
  • asp之家 网络编程 m.aspxhome.com