Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- # ################################################################### #
- # #
- # PROPOSITO: Crear extracto de la base de datos y comprimirlo #
- # AUTOR: Juan Ignacio Prez #
- # FECHA: 18/04/2017 #
- # VERSION: 1.1 #
- # #
- # ################################################################### #s
- # #
- # REGISTRO DE CAMBIOS #
- # FECHA AUTOR VERSION CAMBIOS REALIZADOS #
- # -------- -------- ------- ----------------------------------------- #
- # 11/11/11 JUAN 1.1 Añadido el comando scp para copia #
- # #
- # ################################################################### #
- # Controla que el parametro de base de datos (Schema) se ha provisto
- if [ $# -eq 0 ]
- then
- echo " *************************************************************************** "
- echo " * Importante! No se introdujeron parametros * "
- echo " * * "
- echo " * Se debe proveer el Schema o Base de datos a procesar. * "
- echo " * ej: respaldoDB.sh schema123 * "
- echo " * * "
- exit 1
- fi
- # Procesamos los parametros para el archivo
- DATE=`date +%Y%M%d%H%M%S`
- DATABASE="$1"
- BKFILE=MySQLdump-$DATABASE-$DATE.tar.gz
- JOB=`basename "$0" | cut -d"." -f1`
- # Parametros para la base de datos
- dbuser=$USER"_backer"
- password="`cat $PSW`"
- db_name=$DATABASE
- # Parametros para el servidor de respaldo
- rem_host=""
- rem_user=$USER
- rem_path=$BCK
- rem_file=$BKFILE
- echo "Creando respaldo para base de datos " $1", espere..."
- echo "Una vez completado, el registro puede encontrarse en $LOG/$JOB.log"
- #Extraemos la base de datos (mysqldump)
- echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Creamos la extracción" >> $LOG/$JOB.log
- mysqldump --login-path=localBacker --default-character-set=utf8 --databases $db_name > $WRK/$db_name.sql
- echo -n " < "`date "+%Y-%m-%d %H:%M:%S"`" > " >> $LOG/$JOB.log
- # Analizamos la salida
- if [ $? -eq 0 ]; then
- echo "Extraccion creada" >> $LOG/$JOB.log; else
- echo "Fallo en la extraccion de la base de datos " >> $LOG/$JOB.log; exit 1;
- fi
- # Comprimimos el archivo local
- # Se usa absolute-names lo que significa que el archivo se extraera a donde se comprimio.
- echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Comprimimos la extracción" >> $LOG/$JOB.log
- tar --create --remove-files --gzip --absolute-names --file=$WRK/$BKFILE $WRK/$db_name.sql
- echo -n " < "`date "+%Y-%m-%d %H:%M:%S"`" > " >> $LOG/$JOB.log
- # Analizamos la salida
- if [ $? -eq 0 ]; then
- echo "Extraccion comprimida" >> $LOG/$JOB.log; else
- echo "Fallo en la compresion de la base de datos " >> $LOG/$JOB.log; exit 1;
- fi
- # -- La funcion de copiar a servidores esta momentaneamente cancelada
- # scp puede ser usado para copiar el archivo entre servidores, usar el primer parametro como origen
- # y el segundo como destino. Ej: scp user@host:archivo user@host:archivo
- echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Proceso completo, el archivo "$BKFILE" ha sido creado con exito" >> $LOG/$JOB.log
- echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Movemos el respaldo a su destino final" >> $LOG/$JOB.log
- # if [ -z "$rem_host" ]
- # then
- # scp $WRK/$BKFILE $rem_user"@"$rem_host":"$rem_path"/"$rem_file
- # else
- scp $WRK/$BKFILE $rem_path"/"$rem_file
- # fi
- echo -n " < "`date "+%Y-%m-%d %H:%M:%S"`" > " >> $LOG/$JOB.log
- if [ $? -eq 0 ]; then
- echo "El respaldo esta seguro, fin de programa " >> $LOG/$JOB.log; else
- echo "Fallo en el copiado del archivo " >> $LOG/$JOB.log; exit 2
- fi
- # Imprimimos el separador
- echo " ************************************************************************************* " >> $LOG/$JOB.log
- #FIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement