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

    有一台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来每天改名.
    以上内容为转载:http://news.newhua.com/news1/pro ... 6FH1GKID61KEAI.html

相关文章
mysql的sql中若用IN查询时,若IN内的数据较大时,不走索引的解决办法Mysql性能之SQL语句性能优化WDCP升级5.2.17到5.3.17同时编译pdo_mysql如何测试MySQL的压力? mysql存储日期的方式基础篇:CentOS常用命令收藏利用mysql数据库中的TMD表修复“is marked as crashed and last (automatic?) repair failed”的错误这世界不需要公平,也没有平等采用批处理过滤大容量文本中相同的行MySQL实现表中取出随机数据MySQL优化全攻略-相关数据库命令distinct在mysql中查询多条不重复记录值的解决办法优化MySQL数据库性能的几个好方法在DOS命令行下发送邮件用批处理定时自动备份数据库的应用在MySQL里利用SQL语句批量替换页内字符mysql导入数据库文件最大限制更改解决方法通过MyODBC,用ASP操作MYSQL
    标签:MySQL批处理 发布于:2008-05-11 09:05:48

当前共有0条评论,我也要发表:

    我的名字:

    我的邮箱: