Conexión entre PCHola lector y/o seguidor. Si eres de los pocos que se preocupan y ocupan en hacerle salvas diarias a las bases de datos, en algún momento has necesitado realizar este proceder a 2 o más bases de datos que se encuentran en el mismo servidor. En esta entrada compartiré un script que he programado en BASH probado en un servidor Debian 7 Wheezy. Como ya es costumbre en mi aclarar que si usted desea replicar este escenario en distribuciones similares o derivadas, primero léase bien un tutorial de BASH, luego uno de uso de comandos y utilidades de MySQL y por último piense, el Ctrl + C hace un daño terrible.

#!/bin/bash

# directorio de almacenamiento de salvas de SQL
BASEDIR=/ruta/carpeta/salvas
SQLDIR=${BASEDIR}/$(date +%Y)/$(date +%m).$(date +%B)/$(date +%d)

# La ruta quedará de la siguiente forma:
# /ruta/carpeta/salvas/2017/01.Enero/01
# /ruta/carpeta/salvas/2017/03.Marzo/29

# comprobar que existe el directorio de almacenamiento de logs
# si no existe, crearlo.
if [ ! -d ${SQLDIR} ]; then
    mkdir -p ${SQLDIR}
fi

# datos del usuario de mysql
USERNAME=[USUARIO MYSQL]
PASSNAME=[SUPER CONTRASEÑA INVIOLABLE]

# Lista de bases de datos
BDARRAY=("plandetrabajo")
BDARRAY[1]=paquetesemanal
BDARRAY[2]=chismosored
BDARRAY[3]=intranet

printf "\nSalvando bases de datos:"

# Ir salvando cada BD en un archivo independiente
for ITEM in ${BDARRAY[*]}
do
       # Siquieres que te muestre en la consola al ejecutarse el script cuales BD ya ha salvado
       # descomentar la linea del printf a continuacion
       ## printf "%s\n" $ITEM

       # Aquí se realiza la magia
       mysqldump --user=${USERNAME} --password=${PASSNAME} ${ITEM} > ${SQLDIR}/${ITEM}.sql
done

exit 0

Como vieron no es nada del otro mundo y creo que se me pongo a investigar hasta “un niño de teta” en esto del linux lo haría mejor que yo, PEEEROOO como es con esfuerzo y trabajo propio, pues lo cuelgo en este Blog que ya no se de que rayos va camino a ser.