Podemos utilizar el comando MYSQLDUMP para hacer la copia de la base de datos con un Cron.
0 2 * * * mysqldump -u usuario -pcontraseña nombre_de_base_de_datos > /ruta/de/destino/respaldo.sql
Un cron es un administrador de tareas en sistemas operativos tipo Unix, como Linux o macOS. Permite programar la ejecución de comandos o scripts en momentos específicos, ya sea una vez al día, cada semana, o en un horario personalizado.
Aquí hay una explicación de cada parte de un cron:
Minutos (0-59): El primer campo especifica los minutos en los que se ejecutará el comando. Puede ser un número específico o un rango, separados por comas o un guion.
Horas (0-23): El segundo campo especifica la hora del día en la que se ejecutará el comando. Al igual que con los minutos, puede ser un número específico o un rango.
Día del mes (1-31): Este campo indica el día del mes en el que se ejecutará el comando.
Mes (1-12 o nombres de meses): El cuarto campo especifica el mes en el que se ejecutará el comando. Puede ser un número o el nombre del mes abreviado en inglés.
Día de la semana (0-6 o nombres de días): El último campo indica el día de la semana en el que se ejecutará el comando. 0 y 7 representan domingo. Al igual que con el mes, puede ser un número o el nombre del día abreviado en inglés.
Comando a ejecutar: Esta es la parte del comando o script que se ejecutará en el horario especificado.
Por ejemplo, si queremos programar un script para que se ejecute todos los días a las 3:30 AM, el cron se vería así:
30 3 * * * /ruta/al/script.sh
Esto ejecutará el script script.sh
ubicado en /ruta/al/
a las 3:30 AM todos los días.
Existen varios tipos de comandos cron que se pueden utilizar para programar tareas en sistemas Unix/Linux. Aquí tienes algunos tipos comunes:
Comando simple: Simplemente especifica el comando que deseas ejecutar y la programación de tiempo.
0 3 * * * comando_a_ejecutar
Comando con redirección de salida: Puedes redirigir la salida de un comando a un archivo.
0 4 * * * comando_a_ejecutar > /ruta/al/archivo_de_salida.log
Comando con manejo de errores: Puedes manejar errores y salida de errores usando 2>&1
.
0 5 * * * comando_a_ejecutar > /ruta/al/archivo_de_salida.log 2>&1
Comandos condicionales: Puedes usar comandos condicionales en cron para ejecutar un comando solo si ciertas condiciones se cumplen.
0 6 * * * [ "$(date '+\%a')" = "Mon" ] && comando_a_ejecutar
Parara poder hacer una copia o un respaldo de la base de datos podemos utilizar dump.
0 2 * * * mysqldump -u usuario -pcontraseña nombre_de_base_de_datos > /ruta/de/destino/respaldo.sql