mysqldump,包含Windows

时间:2015-06-02 08:29:09

标签: windows cmd filenames mysqldump

我是unix man,我真的不喜欢在windows上工作。我在向你寻求帮助。

我正在尝试在microsoft windows cmd中定期备份mysql数据库。这是我目前的脚本:

C:\xampp\mysql\mysqldump.exe -hlocalhost -uroot -ppass stp > V:\backup_3.2.2.6__%date:/=%.sql

我想文件名有这样的结构:

backup_3.2.2.6__2015-06-02_10:25:35.sql

在哪里:

name__currentDate_currentTime.sql

所以我只需要在文件名中添加当前时间。

请帮忙

2 个答案:

答案 0 :(得分:4)

这是工作解决方案:

C:\xampp\mysql\mysqldump.exe -hlocalhost -uroot -ppass stp > V:\backup_3.2.2.6__%date:/=%_%time:~0,2%-%time:~3,2%-%time:~6,2%.sql

在哪里"通过"是root用户的密码

答案 1 :(得分:3)

在Windows上,您不能将:作为文件名的一部分。 尝试以下批处理文件,它将使用以下格式创建名称为backup_3.2.2.6__2015-06-02_17-50-44.sql

的文件
@echo off
for /f "tokens=2 delims==" %%I in ('wmic os get localdatetime /format:list') do set datetime=%%I
set datetime=%datetime:~0,4%-%datetime:~4,2%-%datetime:~6,2%_%datetime:~8,2%-%datetime:~10,2%-%datetime:~12,2%
"C:\xampp\mysql\mysqldump.exe" -hlocalhost -uroot -ppass svp > "V:\backup_3.2.2.6__%datetime%.sql"

我在https://stackoverflow.com/a/18024049/4947851

的答案中使用了wmic示例