Advertisement
JuanPrez

dbMySQLRespaldo.sh

May 18th, 2017
65
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 4.26 KB | None | 0 0
  1. #!/bin/bash
  2. # ################################################################### #
  3. #                                                                     #
  4. # PROPOSITO: Crear extracto de la base de datos y comprimirlo         #
  5. # AUTOR: Juan Ignacio Prez                                            #
  6. # FECHA: 18/04/2017                                                   #
  7. # VERSION: 1.1                                                        #
  8. #                                                                     #
  9. # ################################################################### #s
  10. #                                                                     #
  11. # REGISTRO DE CAMBIOS                                                 #
  12. # FECHA    AUTOR    VERSION CAMBIOS REALIZADOS                        #
  13. # -------- -------- ------- ----------------------------------------- #
  14. # 11/11/11 JUAN     1.1     Añadido el comando scp para copia         #
  15. #                                                                     #
  16. # ################################################################### #
  17.  
  18. # Controla que el parametro de base de datos (Schema) se ha provisto
  19. if [ $# -eq 0 ]
  20.   then
  21.     echo " *************************************************************************** "
  22.     echo " *  Importante! No se introdujeron parametros                              * "
  23.     echo " *                                                                         * "
  24.     echo " *  Se debe proveer el Schema o Base de datos a procesar.                  * "
  25.     echo " *    ej: respaldoDB.sh schema123                                          * "
  26.     echo " *                                                                         * "
  27.     exit 1
  28. fi
  29.  
  30. # Procesamos los parametros para el archivo
  31. DATE=`date +%Y%M%d%H%M%S`
  32. DATABASE="$1"
  33. BKFILE=MySQLdump-$DATABASE-$DATE.tar.gz
  34. JOB=`basename "$0" | cut -d"." -f1`
  35.  
  36. # Parametros para la base de datos
  37. dbuser=$USER"_backer"
  38. password="`cat $PSW`"
  39. db_name=$DATABASE
  40.  
  41. # Parametros para el servidor de respaldo
  42. rem_host=""
  43. rem_user=$USER
  44. rem_path=$BCK
  45. rem_file=$BKFILE
  46.  
  47. echo "Creando respaldo para base de datos " $1", espere..."
  48. echo "Una vez completado, el registro puede encontrarse en $LOG/$JOB.log"
  49.  
  50. #Extraemos la base de datos (mysqldump)
  51. echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Creamos la extracción" >> $LOG/$JOB.log
  52.    mysqldump --login-path=localBacker --default-character-set=utf8 --databases $db_name > $WRK/$db_name.sql
  53.  
  54. echo -n " < "`date "+%Y-%m-%d %H:%M:%S"`" > " >> $LOG/$JOB.log
  55. # Analizamos la salida
  56.  if [ $? -eq 0 ]; then
  57.   echo "Extraccion creada" >> $LOG/$JOB.log; else
  58.   echo "Fallo en la extraccion de la base de datos " >> $LOG/$JOB.log; exit 1;
  59.  fi
  60.  
  61. # Comprimimos el archivo local
  62. # Se usa absolute-names lo que significa que el archivo se extraera a donde se comprimio.
  63. echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Comprimimos la extracción" >> $LOG/$JOB.log
  64.    tar --create --remove-files --gzip --absolute-names --file=$WRK/$BKFILE $WRK/$db_name.sql
  65.  
  66. echo -n " < "`date "+%Y-%m-%d %H:%M:%S"`" > " >> $LOG/$JOB.log
  67. # Analizamos la salida
  68.  if [ $? -eq 0 ]; then
  69.   echo "Extraccion comprimida" >> $LOG/$JOB.log; else
  70.   echo "Fallo en la compresion de la base de datos " >> $LOG/$JOB.log; exit 1;
  71.  fi
  72.  
  73. # -- La funcion de copiar a servidores esta momentaneamente cancelada
  74. # scp puede ser usado para copiar el archivo entre servidores, usar el primer parametro como origen
  75. # y el segundo como destino. Ej: scp user@host:archivo user@host:archivo
  76. echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Proceso completo, el archivo "$BKFILE" ha sido creado con exito" >> $LOG/$JOB.log
  77. echo " < "`date "+%Y-%m-%d %H:%M:%S"`" > Movemos el respaldo a su destino final" >> $LOG/$JOB.log
  78. #   if [ -z "$rem_host" ]
  79. #    then
  80. #     scp $WRK/$BKFILE $rem_user"@"$rem_host":"$rem_path"/"$rem_file
  81. #    else
  82.      scp $WRK/$BKFILE $rem_path"/"$rem_file
  83. #   fi
  84. echo -n " < "`date "+%Y-%m-%d %H:%M:%S"`" > " >> $LOG/$JOB.log
  85.  if [ $? -eq 0 ]; then
  86.   echo "El respaldo esta seguro, fin de programa " >> $LOG/$JOB.log; else
  87.   echo "Fallo en el copiado del archivo " >> $LOG/$JOB.log;   exit 2
  88.  fi
  89. # Imprimimos el separador
  90. echo " ************************************************************************************* " >> $LOG/$JOB.log
  91. #FIN
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement