Friday, April 15, 2011

Script para crear y restaurar Backups de MySQL

Saludos estimados lectores, el día de hoy me solicitaron crear un script en bash que facilite la creación de backups y restauración de bases de datos en MySQL, así que comparto el resultado.

El script es bien sencillo de utilizar ya que fue creado para tal fin, utiliza para su funcionamiento la herramienta mysqldump (Que obviamente debe de estar si se tiene Mysql instalado).

Aquí el código fuente:

#!/bin/bash
case $1 in
"backup")
db=$2
mysqldump -u root -p $db > "$db`date +-%d-%m-%y_%k:%M`" 2> /dev/null
if [ $? = 0 ]
then
echo "Se le realizo Backup a la base de datos $db correctamente"
else
echo "No se pudo realizar el Backup"
echo "Revisar si la ruta o la base de datos existen"
fi
;;
"restore")
bdb=$2
db=$3
mysql -u root -p $db < $bdb
if [ $? = 0 ]
then
echo "Se restauro la base de datos $db correctamente"
else
echo "No se pudo restaurar"
echo "Revisar si la ruta o la base de datos existen"
fi
;;
*)
echo "Opcion invalida, las unicas funcionales son "backup" y "restore""
;;
esac


Funciona de la siguiente manera, si por ejemplo queremos crear un backup de la base de datos PuntoLibre (Por dar un ejemplo), seria de la siguiente manera:

./script backup PuntoLibre

Esto generaría un backup en el directorio actual, con el nombre de la base de datos, dia, mes, año, hora y minuto en que se creo.

Y luego para restaurar seria de la siguiente manera:

./script PuntoLibre-10-10-11_07:40 PuntoLibre

Donde estamos sobre-escribiendo los datos de la base de datos PuntoLibre con el Backup  PuntoLibre-10-10-11_07:40.

Nota: Recuerden darle permisos de ejecución, y que el script le pedirá la clave de root para MySQL.
Ramphis Che

0 comentarios:

Post a Comment