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 用户密码
我是 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 用户密码