use*_*269 18 mysqldump batch-file
我该如何正确地做到这一点.我正在尝试将mysqldump生成的sql文件命名为当前日期和时间.我已经在这个网站上进行了一些研究,并在这里找到了一个代码:如何在Windows命令行上以适当的格式获取当前日期时间,以便在文件名中使用?
试图将它与我当前的代码混在一起,我想出了这个.该文件被命名为当前日期和时间,但它只有一个1kb文件,并且不会生成.sql文件.它应该是一个7 kb的sql文件.
@For /f "tokens=2-4 delims=/ " %%a in ('date /t') do @(set mydate=%%c-%%a-%%b)
@For /f "tokens=1-2 delims=/:" %%a in ('time /t') do @(set mytime=%%a%%b)
@echo mydate= %mydate%
@echo mytime= %mytime%
mysqldump -u root -p --add-drop-table --create-options --password= onstor >c:\%mydate%_%mytime%.sql
Run Code Online (Sandbox Code Playgroud)
更新 我认为mysqldump命令没有问题,因为当我这样做时它运行良好.下面的代码只使用日期作为其文件名.
@For /F "tokens=2,3,4 delims=/ " %%A in ('Date /t') do @(
Set Month=%%A
Set Day=%%B
Set Year=%%C
)
@echo DAY = %Day%
@echo Month = %Month%
@echo Year = %Year%
mysqldump -u root --add-drop-table --create-options --password= onstor >c:\%Day%-%Month%-%Year%.sql
Run Code Online (Sandbox Code Playgroud)
请帮忙,谢谢.
chr*_*owe 37
在Linux上,只需$(date +%Y-%m-%d-%H.%M.%S)在文件名中显示日期和时间,所以它看起来像:
mysqldump -u <user> -p <database> | bzip2 -c > <backup>$(date +%Y-%m-%d-%H.%M.%S).sql.bz2
Run Code Online (Sandbox Code Playgroud)
(此命令也使用bzip2压缩文件)