1 Comentario

Script para crear respaldo de una base de datos MySQL y enviarla por correo.


Una de las dificultades con una base de datos MySQL grande y activa es la de realizar respaldos limpios sin tener que desconectar el servidor, sumado a esto esta la necedidad de guardar ese respaldo correctamete.

Este manual te enseñara como crear un pequeño script para que trabaje por nosotros, y para nosotros, puesto que este se estara ejecutando(creando el respaldo y enviandolo por correo) en el momento que nosotros le indiquemos.

A trabajar!!

Lo primero es asegurarnos de tener instalado el paquete mailx indispensable para poder enviar el respaldo que se creara por correo, aunque si solo quieres crear el respaldo y almanacenerlo localmente no sera necesario, el script y la explicación a continuación:

1—#!/bin/bash
2—# Script para crear respaldo de una base de datos MySQL.
3—
4—mkdir /home/derman/cacti
5—cd /home/derman/cacti
6—
7—mysqldump –opt -u root -padmin cacti > cactibackup.sql
8—tar zcvf cactibackup-`date +%d-%m-%y`.tgz cactibackup.sql
9—echo “Archivos de respaldo cacti-`date +%d-%m-%y`” | mailx -s “Respaldo arch conf cacti-`date +%d-%m-%y`” -a *.tgz micorreo@gmail.com
10—
11—sleep 5
12—
13—rm *.tgz
14—rm cactibackup.sql
15—cd /home/derman
16—rm -R -f cacti

Descarga el ejemplo Aquí.

Comenzamos a partir de la linea #4:
4—se crea un directorio donde almacenaremos el respaldo.
5—Nos movemos al directorio recién creado.
7—Utilizando el comando mysqldump creamos el respaldo aquí ten en cuenta lo siguiente:
root → Nombre de usuario de la base de datos.
admin → Contraseña para conectarnos a la base de datos.
cacti → Nombre de la base de datos de la que se hará el respaldo.
cactibackup.sql → Nombre del archivo de respaldo que se creara automaticamente.
Estos valores tendras que cambiarlos con los que tu tienes correspondientes a los de tu base de datos.
8—Comprimimos en tar el archivo cactibackup.sql recién creado.
9—Mandamos por correo el archivo recién comprimido a la dirección micorreo@gmail.com
11— Hacemos una pausa de 5 segundos.

En las siguientes lineas lo que se hace es eliminar todo archivo que se creo, esto incluye el archivo comprimido, el archivo .sql y por ultimo el directorio.

Por qué las ultimas 4 lineas ?

La idea del script (a parte de enseñar) es que este se este ejecutando en un momento determinado, puesto que el respaldo se estará enviando por correo electronico esta de mas tenerlo almacenado localmente sobre todo si el servidor se encuentra de forma remota.

Hacer que se ejecute automáticamente.

Para hacer que el script se ejecute automáticamente lo único que hay que hacer es meterlo dentro de directorio /etc/cron.weekly/ si quieres que se ejecute semanalmente, /etc/cron.daily/ si quieres que lo haga diariamente, /etc/cron.monthly/ para hacerlo mensualmente.

A modo de prueba inmediata puedes ejecutarlo ./respaldo y revisar el correo a donde fue enviado, no olvides cambiarle los permisos al archivo con chmod antes de ejecutarlo.

About these ads

Un comentario el “Script para crear respaldo de una base de datos MySQL y enviarla por correo.

  1. Excelente artículo Jorge. Muchísimas gracias, estoy seguro que sera de mucha ayuda para los lectores.

Deja un comentario

Introduce tus datos o haz clic en un icono para iniciar sesión:

Logo de WordPress.com

Estás comentando usando tu cuenta de WordPress.com. Cerrar sesión / Cambiar )

Imagen de Twitter

Estás comentando usando tu cuenta de Twitter. Cerrar sesión / Cambiar )

Foto de Facebook

Estás comentando usando tu cuenta de Facebook. Cerrar sesión / Cambiar )

Google+ photo

Estás comentando usando tu cuenta de Google+. Cerrar sesión / Cambiar )

Conectando a %s

Seguir

Recibe cada nueva publicación en tu buzón de correo electrónico.

%d personas les gusta esto: