windows 上的备份文件名中包含日期和时间的 mysqldump

mysqldump with date and time in backup file name on windows

我是 unix 人,我真的不喜欢在 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

所以我只需要将当前时间添加到文件名中即可。

请帮忙

您不能将 : 作为 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"

我使用了答案中的 wmic 示例:

这是可行的解决方案:

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

其中 "pass" 是您的 root 用户密码