我是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
所以我只需要在文件名中添加当前时间。
请帮忙
答案 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"
的答案中使用了wmic示例