Pular para o conteúdo

Criando com rapidez um banco de dados no PostgreSQL

Esse script passa seis parametros para ser informado pelo usuário.
Ao final do processo, um banco de dados estará rodando no servidor com autenticação MD5 para logar no banco.

Esse script pode ajudar administradores de banco de dados PostgreSQL.
Rodrigo rodrigofariat
Hits: 6.531 Categoria: Shell Script Subcategoria: Expressões Regulares
  • Download
  • Nova versão
  • Indicar
  • Denunciar

Descrição

Esse script passa seis parametros para ser informado pelo usuário.
Ao final do processo, um banco de dados estará rodando no servidor com autenticação MD5 para logar no banco.

Esse script pode ajudar administradores de banco de dados PostgreSQL.
Download inicializa-banco-rapido.sh Enviar nova versão

Esconder código-fonte

#!/bin/bash

# 1 = diretorio ; 2 = IP ; 3 = Porta ; 4 = Database_name ; 5 usuario ; 6 script

if [ -z $1 ] || [ -z $2 ] || [ -z $3 ] || [ -z $4 ] || [ -z $5 ] || [ -z $6 ]

   then
   echo
   #clear
   echo -ne "\033[31m**********************************************************\033[m\n"
   echo -ne '\033[31mPara utilizar o script, forneca pelo menos seis parametros\033[m\n'
   echo -ne "\033[31m**********************************************************\033[m\n"
   echo
   echo -ne "\033[31mEsse é um script rapido para gerar um banco de dado no Postgres\033[m\n"
   echo  -ne "\033[31m./inicializa-banco-rapido.sh {DIR_BANCO}      {IP}       {PORTA}  {DATBASE_NAME} {USER_DATABSE } {PATH_SCRIPT}\033[m\n"
   echo  -ne "\033[31mExemplo:                     /opt/infra 192.168.1.133   5432         LIVROS        root       /opt/script.sh\033[m\n"
   exit 0
fi

mkdir $1
chown -R postgres $1
chmod -R 700 $1

su postgres -c "/usr/local/pgsql/bin/initdb -D $1"

# Remove linha do diretório do banco
   sed -i '56d' $1/postgresql.conf
   sed -i '128d' $1/postgresql.conf

# Insere a linha apos um trecho de texto
  sed -i "/superuser_reserved_connections = 2/ a\unix_socket_directory= '$1'" $1/postgresql.conf
  sed -i "/# - Archiving -/ a\archive_command = 'cp -i %p /mnt/server/archivedir/%f </dev/null'" $1/postgresql.conf

# Remove comentarios das linhas 48,50,64
  sed -i "48 s/^#//" $1/postgresql.conf
  sed -i "50 s/^#//" $1/postgresql.conf
  sed -i "64 s/^#//" $1/postgresql.conf
  sed -i "128 s/^#//" $1/postgresql.conf

# Coloca IP
AUXIP=`cat $1/postgresql.conf | grep "localhost"  | awk '{print $3}' | head -n1`
echo $AUXIP > /tmp/file
IP=`cat /tmp/file | cut -f2 -d "'"`
INPUT=$2
sed -i "s/$IP/$INPUT/g" $1/postgresql.conf

PORT=5432

# Coloca porta
sed -i "s/$PORT/$3/g" $1/postgresql.conf

# Inicia Postgres
su postgres -c "/usr/local/pgsql/bin/pg_ctl -D $1 start" &> /dev/null

echo "Aguarde 5 segundos"
sleep 5

# Cria DATABASE
su postgres -c "/usr/local/pgsql/bin/createuser -p $3 -a -d $5 -h $1"
su postgres -c "/usr/local/pgsql/bin/createdb -p $3 -E LATIN1 $4 -h $1"
su postgres -c "/usr/local/pgsql/bin/psql -p $3 -d $4 -U $5 -h $1 -f $6"

#Coloca auth de senha, removendo o trust
sed -i '71,75 s/trust/md5/g' $1/pg_hba.conf
su postgres -c "/usr/local/pgsql/bin/pg_ctl -D $1 reload" &> /dev/null

Instalando o Xen 4.0 no Debian 6 64 bits

Console gráfico para vizualizar logs.

simulado

Daemon: Libera CPU - Mata processos

Reconect para Velox

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.