使用批处理实现mysql数据库备份与上传 推荐
2008-04-09 16:35
387 查看
使用批处理实现mysql[/b]数据库备份与上传[/b]
需求:[/b]
有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上
要是在linux上,shell 脚本很容易就搞定了,在windows上习惯了点鼠标,哪里来的脚本,一时还真不知道该怎么弄.baidu,google得知可以通过批处理或者vbs脚本实现.
批处理是比较简单的,毕竟dos的常用命令还是知道的
解决思路:[/b]
使用批处理文件,实现备份和上传的功能
将批处理文件加到计划任务中实现每日定时执行脚本
完整的批处理文件如下 文件名dbbk.bat
说明:[/b]
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
最后提一下写的过程中解决的一个问题[/b]
由于脚本的思路是做备份,然后通过ftp上传
所以最开始写的时候没有::form the ftp command file 这一段.而是写好一个ftpdemo.txt放在那
这就出现了一个问题,由于生成的sql文件名每天都变,这样ftp命令也得改.写死的ftpdemo.txt文件肯定就实现不了.
想出了个笨主意是批处理文件里面生成的sql文件就定义死文件名为demo.sql,这样ftpdemo.txt文件也可以写死.然后等上传以后,再通过linux的脚本通过crontab来每天改名.
多谢[/b]coolerfeng[/b]兄[/b],[/b]一句话惊醒梦中人[/b],[/b]直接由批处理文件来动态生成[/b]ftp[/b]命令文件[/b].[/b]再次深表感谢[/b].[/b]
在此过程中参考了很多文章[/b],[/b]难以一一列出[/b],[/b]在此一并谢过[/b].[/b]毕竟是得益于大家无私的分享知识[/b].[/b]开源就是这样[/b]![/b]
需求:[/b]
有一台windows服务器上跑着mysql的一些应用,现在需要将mysql的数据每天备份,并通过ftp上传到指定的存储服务器上
要是在linux上,shell 脚本很容易就搞定了,在windows上习惯了点鼠标,哪里来的脚本,一时还真不知道该怎么弄.baidu,google得知可以通过批处理或者vbs脚本实现.
批处理是比较简单的,毕竟dos的常用命令还是知道的
解决思路:[/b]
使用批处理文件,实现备份和上传的功能
将批处理文件加到计划任务中实现每日定时执行脚本
完整的批处理文件如下 文件名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
最后提一下写的过程中解决的一个问题[/b]
由于脚本的思路是做备份,然后通过ftp上传
所以最开始写的时候没有::form the ftp command file 这一段.而是写好一个ftpdemo.txt放在那
这就出现了一个问题,由于生成的sql文件名每天都变,这样ftp命令也得改.写死的ftpdemo.txt文件肯定就实现不了.
想出了个笨主意是批处理文件里面生成的sql文件就定义死文件名为demo.sql,这样ftpdemo.txt文件也可以写死.然后等上传以后,再通过linux的脚本通过crontab来每天改名.
多谢[/b]coolerfeng[/b]兄[/b],[/b]一句话惊醒梦中人[/b],[/b]直接由批处理文件来动态生成[/b]ftp[/b]命令文件[/b].[/b]再次深表感谢[/b].[/b]
在此过程中参考了很多文章[/b],[/b]难以一一列出[/b],[/b]在此一并谢过[/b].[/b]毕竟是得益于大家无私的分享知识[/b].[/b]开源就是这样[/b]![/b]
相关文章推荐
- 使用批处理实现mysql数据库备份与上传
- 使用批处理实现mysql数据库备份与上传
- 使用批处理实现mysql数据库备份与上传
- 使用批处理实现mysql数据库备份与上传
- 使用Xtrabackup来实现mysql数据库的备份和恢复 推荐
- 使用mysql数据库的mysqldump实现自动备份
- 使用java实现自动备份mysql数据库
- CentOS 6.3_ RSync实现文件定时备份同步配置与使用 推荐
- 使用dreamhost空间实现MYSQL数据库备份方法
- 在Servlet中使用开源fileupload包实现文件上传功能 推荐
- 使用mysql数据库的mysqldump实现自动备份
- linux下使用crontab如何实现mysql数据库每天自动备份定时备份
- 用批处理实现自动备份和清理mysql数据库
- 使用mysql数据库的mysqldump实现自动备份
- Windwos下使用winscp和批处理实现通过SSH端口上传文件到Linux服务器上
- 使用LVM快照实现对mysql数据库的备份
- Java 使用commons集驱动包+Servlet类实现简单的上传文件到本地!推荐
- 【备份】使用mysqldump 实现rename database name(mysql数据库改名称)
- 使用Task Scheduler调用WinScp批处理实现上传下载文件
- 使用HTML5实现扫描PC二维码且触发WAP端上传资源功能 推荐