Es muy útil tener copias de seguridad automatizadas para nuestras bases de datos MySQL, así evitaremos perder cualquier tipo de dato de nuestros proyectos. Con un simple comando en nuestro crontab, podremos hacerlo de una forma realmente sencilla.

Primero, nos conectamos a nuestro servidor


ssh root@server_ip_or_hostname

Vamos a usar el comando ‘myslqdump‘, que se utiliza para realizar copias de seguridad de bases de datos MySQL.

mysqldump -u database_username -pdatabase_password database_name | gzip > /var/www/db_backups/mysite.com/$(date +%d-%m-%Y).gz

Debemos sustituir las siguientes variables:

- database_username: username to login to database
- database_password: password to login to database
- database_name: name of the database to connect

Cuando introduces tu contraseña, el caracter ‘p’ debe ir junto con la cadena de texto de la contraseña.

Por ejemplo, estas son mis credenciales:

- Usuario bbdd: root
- Contraseña bbdd: 1234
- Nombre de la base de datos: my_project_db

Nuestro comando quedará así:

mysqldump -u root -p1234 my_project_db | gzip > /var/www/db_backups/mysite.com/$(date +%d-%m-%Y).gz

El parámetro gzip indica que nuestro archivo será comprimido en formato gzip. La última parte del comando, indica el directorio donde se creará nuestra copia de seguridad, con el siguiente formato como nombre del archivo: DIA-MES-AÑO.gz

Con el comando que has generado con tus credenciales de conexión, vamos a crear un cron job en el crontab de Linux para que cree una copia de seguridad de nuestro proyecto una vez al día.

Primero, abrimos el crontab:

crontab -e

Nota: A la hora de introducir el comando en el crontab, debemos escapar los carácteres ‘%’ con ‘/’. De la siguiente forma:

$(date +\%d-\%m-\%Y).gz

Ejemplo con el comando entero escapado:

mysqldump -u database_username -pdatabase_password database_name | gzip > /var/www/db_backups/mysite.com/$(date +\%d-\%m-\%Y).gz

Creamos el cron tab:

30 4 * * * HERE_YOUR_MYSQLDUMP_COMMAND

Por ejemplo:

30 4 * * * mysqldump -u database_username -pdatabase_password database_name | gzip > /var/www/db_backups/mysite.com/$(date +\%d-\%m-\%Y).gz

Este cron job se ejecutará todos los días a las 4:30 de la mañana.

Guarda tu crontab y disfruta de tus copias de seguridad de MySQL diarias.

Fuente: http://blog.albertolabs.com/2015/11/24/how-to-auto-backups-mysql-databases-with-linux-crontab/

Sobre Reacción Estudio

Somos un estudio informático formado por jóvenes centrados en el desarrollo web, el diseño gráfico y la fotografía. Puedes solicitar presupuesto para tu proyecto a través de nuestra página web o por teléfono, pero en este blog hablaremos de todo lo que engloba el desarrollo web a día de hoy.


Este sitio web utiliza cookies para que usted tenga la mejor experiencia de usuario. Si continúa navegando está dando su consentimiento para la aceptación de las mencionadas cookies y la aceptación de nuestra política de cookies.     ACEPTAR