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:
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
1 comentario:
Excelente script. villatux, consulta: ¿Como podría ingresar desde el script como usuario postgres y ejecute los comandos siguientes escritos?
Si queremos permitir que puedan acceder remotamente al servicio tenemos que realizar una configuración para que el motor atienda las peticiones de todas las interfaces de red del servidor (o solo algunas de ellas). Para ello editamos el archivo postgresql.conf ubicado en el directorio /var/lib/pgsql/9.6/data:
test:~ # vi /var/lib/pgsql/data/postgresql.conf
Y luego buscamos la directiva #listen_addresses, la comentamos o modificamos debiendo quedar similar a lo que sigue:
#listen_addresses = 'localhost'
listen_addresses = '*'
Luego toca autorizar las redes a las que le permitiremos el acceso remoto. Pasamos a editar el archivo pg_hba.conf ubicado en el directorio /var/lib/pgsql/data como se muestra a continuación:
test:~ # vi /var/lib/pgsql/data/pg_hba.conf
Buscamos la siguiente sección, reemplazamos el método de autenticación ident a md5 y le agregamos la directiva necesario para permitir el acceso a los equipos ubicados en nuestra red (en este caso 192.168.1.0/24), y si no usamos IPv6 podemos comentar la última línea.
# TYPE DATABASE USER CIDR-ADDRESS METHOD
# "local" is for Unix domain socket connections only
local all all md5
# IPv4 local connections:
host all all 127.0.0.1/32 md5
host all all 192.168.1.0/24 md5
# IPv6 local connections:
#host all all ::1/128 ident
Publicar un comentario