[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[文本处理] [已解决]批处理如何备份MySQL数据库并生成带日期格式的文件?

数据库的备份生成命令为:

C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u 用户名 -p 数据库名>cvtbarcode日期格式.sql

能否生成一个带日期格式的批处理?

日期形式:yyyymmdd
1

评分人数

    • Batcher: 感谢给帖子标题标注[已解决]字样PB + 2

win7的情况下,按你所说的方式获取日期。
  1. @echo off
  2. set str=%date:/=%
  3. echo %str:~,8%
  4. pause
复制代码

TOP

额,我是想问这个备份的批处理如何写?

正常的执行操作是
C:\Program Files\MySQL\MySQL Server 5.1\bin>mysqldump -u 用户名 -p 数据库名>cvtbarcode日期格式.sql

然后系统提示输入数据库密码。

如果要指定存放路径,这个批处理改如何写?

TOP

日期操作我已获得,请问在C:\Program Files\MySQL\MySQL Server 5.1\bin路径下执行命令的批处理怎么写?系统会提示输入数据库密码。这个是怎么操作?

TOP

  1. @echo off
  2. >"%tmp%\MyDel.vbs" echo dt=date()-1
  3. >>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
  4. >>"%tmp%\MyDel.vbs" echo wscript.echo s
  5. for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set yesterday=%%a
  6. echo %yesterday%
  7. >CD C:\Program Files\MySQL\MySQL Server 5.1\bin\
  8. >>mysqldump -u root -p test>"E:\software install\testDatabaseBackup\cvtbarcode%yesterday%test.sql"
  9. pause
复制代码
提示有错误,怎么修改?如果系统提示密码,怎么在批处理程序里添加?

TOP

回复 5# lazygc520


详细的报错信息是什么?

TOP

回复 6# find
  1. 20120206
  2. 'C:\Program' 不是内部或外部命令,也不是可运行的程序
  3. 或批处理文件。
  4. '-u' 不是内部或外部命令,也不是可运行的程序
  5. 或批处理文件。
  6. 请按任意键继续. . .
复制代码

TOP

本帖最后由 Demon 于 2012-2-7 09:33 编辑
  1. @echo off
  2. >"%tmp%\MyDel.vbs" echo dt=date()-1
  3. >>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
  4. >>"%tmp%\MyDel.vbs" echo wscript.echo s
  5. for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set yesterday=%%a
  6. echo %yesterday%
  7. >CD C:\Program Files\MySQL\MySQL Server 5.1\bin\
  8. >>mysqldump -u root -p test>"E:\software install\testDatabaseBackup\cvtbarcode%yesterday%test.sql"
  9. pause
复制代码
提示有错误,怎么修改?如果系统提示密码,怎么在批处理程序里添加?
lazygc520 发表于 2012-2-6 12:11


不伦不类


'Author: Demon
'Website: http://demon.tw
'Date: 2012/2/7
Option Explicit
Const user = "root"
Const pass = "123456"
Const data = "test"
Const dump = "C:\Program Files\MySQL\MySQL Server 5.1\bin\"
Const dest = "E:\software install\testDatabaseBackup\"
Dim yesterday, t
t = Date - 1
yesterday = Year(t) & Right("0" & Month(t), 2) & Right("0" & Day(t), 2)
yesterday = dest & "cvtbarcode" & yesterday & ".sql"
Dim WshShell, Cmd
Set WshShell = CreateObject("wscript.Shell")
WshShell.CurrentDirectory = dump
Cmd = "mysqldump -u " & user & " -p" & pass & " -r " & yesterday & " " & data
WshShell.Run Cmd, 0, True
MsgBox "Backup complete", vbInformation
1

评分人数

    • lazygc520: 虽然这个vbs和实际的效果有所出入,但是提供 ...技术 + 1

TOP

回复 7# lazygc520
  1. @echo off
  2. rem 设置MySQL用户名
  3. set username=MYUSER
  4. rem 设置MySQL密码
  5. set password=MYPASS
  6. >"%tmp%\MyDel.vbs" echo dt=date()-1
  7. >>"%tmp%\MyDel.vbs" echo s=right(year(dt),4) ^& right("0" ^& month(dt),2) ^& right("0" ^& day(dt),2)
  8. >>"%tmp%\MyDel.vbs" echo wscript.echo s
  9. for /f %%a in ('cscript /nologo "%tmp%\MyDel.vbs"') do set yesterday=%%a
  10. echo %yesterday%
  11. cd /d "C:\Program Files\MySQL\MySQL Server 5.1\bin\"
  12. mysqldump -u%username% -p%password% <"E:\software install\testDatabaseBackup\cvtbarcode%yesterday%test.sql"
复制代码

TOP

返回列表