viernes, 21 de marzo de 2014

Ejecutar comandos de PostgreSQL en BASH

Les paso este script que hice para ejecutarlo cuantas veces sea necesario , ya que estoy probando una aplicación externa que usa la API de Moodle y pues en las pruebas necesito limpiar la base de datos de moodle cada vez que quiero hacer una prueba nueva.

Descripción:
1 - comprueba si el usuario es postgres
      si NO es  te dice que necesitas serlo
2.- borra la base de datos que tengo (llena de datos)
3.- crea la base de datos nueva
4.- importa el respaldo de mi base de datos limpia de Moodle

Script:
#!/bin/bash
# Ejecutar como usuario postgres

ARCHIVO="backup_21-03-2014.sql"
BASEDEDATOS="moodledb"

USUARIO=$(whoami)
if [ $USUARIO == "postgres" ] ;then
    echo -e "BORRANDO Y CREANDO BASE DE DATOS NUEVA"
    echo -e ""
    psql << EOF
    drop database $BASEDEDATOS;
    create database $BASEDEDATOS;
EOF
    sleep 3
    echo -e "IMPORTANDO RESPALDO $ARCHIVO"
    echo -e ""
    sleep 2
    psql moodledb < $ARCHIVO
else
    echo -e "-----------------------------------------------------------------"
    echo -e "Necesitas ser $USUARIO para ejecutar este script"
    echo -e "-----------------------------------------------------------------"
    echo -e ""
fi

No hay comentarios: