Como mas de una vez en los desarrollos hemos tenido que realizar backups de las bases de datos, esta vez proponemos el automatizar dicha tarea.
Primero deberemos crear nuestro script que lo realizaremos en Bash, de daremos permisos para que se pueda ejecutar y posteriormente le crearemos un cron en crontab para que se ejecute cada x tiempo. Es necesario el probar que se ejecuta el script y de que al menos en una ocasion realiza la copia correctamente para asegurar su buen funcionamiento.
Crear el script:
sudo nano backup_mysql
Añadimos lo siguiente:
# Backup de la base de datos de mysql nombre_base_datos
fecha=$(date +%Y%m%d)
mysqldump -u usuario -p clave nombre_base_datos > fichero_$fecha.sql
gzip fichero_$fecha.sql
Las copias las realizamos y la comprimimos en gzip.
Le añadimos permisos de ejecución al script:
chmod +x backup_mysql
Ahora añadiremos el script al cron para que se realice con x periodicidad, el formato del cron es el siguiente:
[minutos] [hora] [día] [mes] [dia_de_semana] [comando]
Ejecutamos:
crontab -e
Y en mi caso utilizamos la opción 3, utilizar el editor nano:
0 2 * * 6 /home/keopx/backup_mysql
Esto hace que los sabados a las 2:00 de la mañana realice una copia, esta opción la podremos modificar en caso de que sea necesario. A esto se le podría añadir la opción de hacer las copias de forma remota almacenándolas en otros dispositivos.
Comentarios