Генерировать файл резервной копии, используя дату и время в качестве имени файла

Как это сделать правильно. Я пытаюсь назвать файл sql, который создается mysqldump, в текущую дату и время. Я уже провел исследование на этом сайте и нашел здесь код: Как получить текущее время и время в командной строке Windows в подходящем формате для использования в имени файла?

Пытался смешивать его с моим текущим кодом, и я придумал этот. Файл назван в текущую дату и время, но только 1kb файл и не создает файл .sql. Предполагается, что это файл размером 7 килобайт.

@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

UPDATE Я не думаю, что есть проблема с командой 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

Пожалуйста, помогите, спасибо.

Ответ 1

В 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

(Эта команда также сжимает файл с помощью bzip2)

Ответ 2

Я думаю, что синтаксис вашей команды mysqldump неверен;

mysqldump -u root -p --add-drop-table --create-options --password= onstor

Вы используете как -p, так и --pasword=, вы должны использовать только один параметр. И перед паролем есть пробел.

Просто попробуйте запустить команду mysqldump в командной строке, чтобы увидеть сообщения об ошибках. В качестве альтернативы добавьте 2>&1 в конце команды в пакетном файле. Затем вы также увидите сообщения об ошибках в выходном файле.

mysqldump -u root --add-drop-table --create-options --password=onstor >c:\%mydate%_%mytime%.sql 2>&1