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.528 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

Alterar o IP da máquina.

Gerenciador de autenticação de usuarios no squid

Calculadora em shell script

Lista usuários

Backup dos artigos do VOL

Nenhum comentário foi encontrado.

Contribuir com comentário

Entre na sua conta para comentar.