失眠网,内容丰富有趣,生活中的好帮手!
失眠网 > 使用批处理实现mysql数据库备份与上传

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

时间:2020-03-10 03:21:31

相关推荐

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

独角兽企业重金招聘Python工程师标准>>>

需求: 有一台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:: .4.9::backup the mysql dbmysqldump -uroot –pxxxx demo>c:\demo %date:~0,10%.sql::pause:: wait press any key to continue:: ready to delete::form the ftp command fileecho open 服务器ip>c:\ftpdemo.txtecho ftp用户名>>c:\ftpdemo.txtecho ftp密码>>c:\ftpdemo.txtecho put c:\ demo %date:~0,10%.sql >>c:\ftpdemo.txtecho bye>>c:\ftpdemo.txt::transfer the file to server via ftpftp -i -s:c:\ftpdemo.txt::pause::clean the tmp filesdel c:\ftpdemo.txtdel c:\ demo %date:~0,10%.sql

说明: 1.双冒号::后面的内容为注释,不会执行 2.两处pause语句是调试的时候用的,运行pause的结果是屏幕上显示”按任意键继续”,脚本等着用户按键才会往下执行 3. demo %date:~0,10%.sql是备份的文件名,最后的结果是demo0409.sql ,其中%date:~0,10%表示的是date命令输出的字符串中从第0个开始的10个字符.这点很重要,因为我在英文的OS上,执行这个脚本在备份的时候报文件名错误.这是因为当你执行date命令的时候结果是 Tue 04/08/ 要达到demo0409.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数据库备份与上传》对你有帮助,请点赞、收藏,并留下你的观点哦!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。