Advertisement
Guest User

Untitled

a guest
Sep 22nd, 2016
104
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 2.70 KB | None | 0 0
  1. #!/bin/bash
  2.  
  3. # -- DEFINICIÓN VARIABLES DE FECHA Y HORA.
  4. DIA=`date +"%Y%m%d"`
  5. HORA=`date +"%H%M"`
  6.  
  7. # -- CONFIGURACIÓN DE VARIABLES GLOBALES
  8. DUMP_HOME="."
  9. DUMP_FILE="dump_"$DIA"_"$HORA".sql"
  10.  
  11. MYSQL_DBUSER_ADM='root'
  12. MYSQL_DBNAME="mi_db"
  13. PG_DBUSER_ADM="postgres"
  14. PG_DBNAME="mi_db"
  15.  
  16. # -- SE LIMPIA LA CONSOLA Y SE DESPLIEGA EL TITULO DEL PROGRAMA.
  17. clear
  18. echo "EXPORT"
  19. echo "======"
  20.  
  21. # -- SE VERIFICA QUE EL USUARIO HAYA PASADO COMO PARAMETRO DE LA APLICACIÓN EL TIPO
  22. # DE BASE DE DATOS A LA QUE SE TIENE QUE CONECTAR EL SISTEMA (MYSQL O POSTGRESQL)
  23. if [ -z $1 ]; then
  24. echo "Error en la ejecución! Faltan parámetros.."
  25. echo "Ejemplo ejecución:"
  26. echo
  27. echo "  $ sh export.sh [mysql|pg]"
  28. echo
  29. exit
  30. fi
  31.  
  32. # -- SE COMPRUEBA QUE EL PRIMER PARÁMETRO RECIBIDO CORRESPONDA
  33. # A LAS OPCIONES VÁLIDAS QUE SON mysql Y pg.
  34. if [ $1 != "mysql" ] && [ $1 != "pg" ]; then
  35. echo "Error en la ejecución! las opciones para el primer parámetro pueden ser solamente 'mysql' y 'pg' (postgres)."
  36. echo "Ejemplo ejecución:"
  37. echo
  38. echo "  $ sh export.sh [mysql|pg]"
  39. echo
  40. exit
  41. fi
  42.  
  43. # -- SE LE SOLICITA AL OPERADOR QUE INGRESE LA CONTRASEÑA DEL USUARIO
  44. # ADMINISTRADOR DE LA BASE DE DATOS.
  45. STTY_SAVE=$(stty -g)
  46. stty -echo
  47. if [ $1 == "mysql" ]; then
  48. echo "Favor de introducir a continuación la contraseña del usuario '$MYSQL_DBUSER_ADM', administrador del motor de base de datos 'MySQL'."
  49. elif [ $1 == "pg" ]; then
  50. echo "Favor de introducir a continuación la contraseña del usuario '$PG_DBUSER_ADM', administrador del motor de base de datos 'PostgreSQL'."
  51. else
  52. echo "Favor de introducir a continuación la contraseña del usuario administrador del motor de base de datos."
  53. fi
  54. echo
  55. echo -n "Introduzca Password:"
  56. read DBADMIN_SECRET_PASSWD
  57. stty $STTY_SAVE
  58. echo
  59. echo
  60.  
  61. # -- SEGÚN LA BASE DE DATOS ESPECIFICADA SE PROCEDE A EXPORTAR LA BASE DE DATOS.
  62. if [ $1 == "mysql" ]; then
  63. echo "Exportando la base de datos MySQL '$MYSQL_DBNAME' del sistema. Aguarde un momento..."
  64. mysqldump -v -u $MYSQL_DBUSER_ADM -p$DBADMIN_SECRET_PASSWD --database $MYSQL_DBNAME > $DUMP_HOME/mysql-$DUMP_FILE
  65. echo "Fin del proceso de exportación! El archivo de exportación generado se encuentra en '$DUMP_HOME/mysql-$DUMP_FILE'."
  66. echo
  67. elif [ $1 == "pg" ]; then
  68. echo "Exportando la base de datos PostgreSQL '$PG_DBNAME' del sistema. Aguarde un momento..."
  69. export PGUSER=$PG_DBUSER_ADM
  70. export PGPASSWORD=$DBADMIN_SECRET_PASSWD
  71. pg_dump -b -F p --column-inserts $PG_DBNAME > $DUMP_HOME/pg-$DUMP_FILE
  72. unset PGUSER
  73. unset PGPASSWORD
  74. echo "Fin del proceso de exportación! El archivo de exportación generado se encuentra en '$DUMP_HOME/pg-$DUMP_FILE'."
  75. else
  76. echo "Opción no soportada!"
  77. echo
  78. fi
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement