Info: diciembre 9, 2008 Posted by: h1pp1e 0 comments

Teniendo nosotros el problema de porder restaurar solo una tabla de un respaldo de determinada base de datos, surgio la necesidad de crear un pequeño script simple pero util el cual permite crear respaldos por tabla especificandole la base de datos, esto permite que al necesitar restaurar una sola tabla o varias sea mas sencillo, por estas razones surgio el siguiente script que con gusto lo ponemos a disposicion de la comunidad :)

DESCARGA SCRIPT

primero debemos darle permisos de ejecucion

chomod +x respalda_tabla.sh

segundo ejecutamos el script pasandole 3 parametros usuario, password y base de datos

./respalda_tabla.sh usuario password base_datos

esto creara una carpeta con el nombre de la base de datos y fecha del sistema, dentro de la carpeta estran los sql de cada tabla dumpeada.

A continuacion el codigo y recuerden que si tienen alguna mejora hacernola saber :D


#!/bin/bash

#Written by Jorge Medrano

# Copyright (c) 2008 Jorge Medrano.

#
# Licensed under The MIT License

# Redistributions of files must retain the above copyright notice.

# license http://www.opensource.org/licenses/mit-license.php The MIT License

if [ $# -lt 3 ]; then
echo “Necesitas pasar dos parámetros: usuario, password y base de datos.”
exit 0
fi

echo “Inicia Respaldo”

RUTA=`pwd`
FECHA=`date +”%Y-%m-%d”`
RUTA=”$RUTA/$3-$FECHA”

if [ ! -d $RUTA ]; then
echo “Creando directorio”
mkdir $RUTA
fi

SQL=’Select table_name FROM information_schema.tables WHERE table_schema = “‘$3′” AND table_type = “BASE TABLE”;’

for i in `mysql -u $1 -p$2 -B –skip-column-names -e “$SQL”`;
do
mysqldump -u $1 -p$2 –opt $3 $i > $RUTA/$i.sql
done
echo “Termino respaldo”