es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

¿Cómo hacer una copia de seguridad de la base de datos utilizando mysqldump?

Estoy tratando de hacer una copia de seguridad de una base de datos MySQL utilizando el siguiente código:

@echo off
For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%b-%%a-%%c)
For /f "tokens=1-2 delims=/: " %%a in ('time /t') do (set mytime=%%a-%%b)
mysqldump -uroot -pas imed_dbsys > "D:\IMED CMS BACKUP\%mydate%_%mytime%.sql"

Quiero nombrar las copias de seguridad de la base de datos utilizando la fecha y la hora.

Mi resultado esperado:

2021-12-13_03-42 PM.sql

El resultado que se muestra en la carpeta (la fecha no se muestra):

2021-12-_03-42 PM.sql

¿Puedes ayudarme a solucionar este problema? ¡Muchas gracias! Y lamento mi gramática en inglés 🙂

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Claro, puedo ayudarte con eso. El problema parece estar en el primer bucle “For” que configura la variable “mydate”. Se espera que el formato de fecha sea “mm/dd/yyyy”, pero el comando “date /t” lo devuelve en formato “dd/mm/yyyy” para tu sistema. Por lo tanto, la variable “mydate” no se establece correctamente.

    Para solucionarlo, puedes intercambiar las variables “%%a” y “%%b” en el primer bucle “For” de la siguiente manera:

    For /f "tokens=2-4 delims=/ " %%a in ('date /t') do (set mydate=%%c-%%a-%%b)
    

    Esto debería establecer la variable “mydate” en el formato correcto de “yyyy-mm-dd”. Luego puedes ejecutar el script de respaldo nuevamente y el archivo de salida debería tener el nombre esperado con el formato de fecha y hora correcto.

    Espero que esto te ayude. Avísame si tienes alguna otra pregunta o inquietud.

Comments are closed.