source: trunk/INSTALL/arquivos/scripts/bd.sh @ 5838

Revision 5838, 4.3 KB checked in by wmerlotto, 12 years ago (diff)

Ticket #2557 - Corrigido problema no script do BD e HTTP

Line 
1
2# Servico Banco de Dados (Postrgres)
3
4# Comum a todas as distros
5
6# Parametro 1: Destino (completo) de onde ficarao os dados do Postges (data)
7# Parametro 2: Nome do arquivo modelo de configuração do Postgres (postgres.conf)
8# Parametro 3: Nome do arquivo modelo de configuracao de acessos do Postgres (pg_hba.conf)
9# Parametro 4: Destino (completo) de onde ficarao os arquivos de configuracao do Postgres
10# Exemplo: bd /var/lib/pgsql/data
11bd () {
12        DIR_PG=$1
13        PG_CONF=$2
14        PG_HBA=$3
15        DIR_CONF=$4
16        get_org
17        get_pass
18       
19        rm -rf $DIR_PG*
20        su - postgres -c "export LANG=pt_BR.ISO-8859-1; initdb -E latin1 -D $DIR_PG"
21        #su - postgres -c "env LANG=LATIN1 initdb --locale=pt_BR.iso88591 --encoding=LATIN1 -D $DIR_PG"
22        sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD/$LDAP_PWD/g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" $ARQS/expresso.dump > /tmp/expresso.dump
23       
24
25        cp -f $PG_CONF $DIR_CONF/
26        cp -f $PG_HBA $DIR_CONF/
27}
28
29bd_ubuntu-11.10 () {
30        DIR_PG=$1
31        PG_CONF=$2
32        PG_HBA=$3
33        DIR_CONF=$4
34        get_org
35        get_pass
36
37        rm -rf $DIR_PG*
38        su - postgres -c "env LANG=LATIN1 initdb --locale=pt_BR.iso88591 --encoding=LATIN1 -D $DIR_PG"
39        sed -e "s/LDAP_DN/$LDAP_DN/g" -e "s/LDAP_PWD/$LDAP_PWD/g" -e "s/ORG/$ORG/g" -e "s/DOMAIN/$DOMAIN/g" $ARQS/expresso.dump > /tmp/expresso.dump
40
41        cp -f $PG_CONF $DIR_CONF/
42        cp -f $PG_HBA $DIR_CONF/
43}
44
45# Cria a base de dados e importa os SQLs padroes
46create_db ()
47{
48        su - postgres -c 'dropdb expresso'  || { echo "Banco expresso não existia. [OK]"; }
49        su - postgres -c 'createdb -E LATIN1 expresso'  || { echo "Falha na criação do banco expresso."; exit 1; }
50        su - postgres -c 'psql -f /tmp/expresso.dump expresso'
51}
52
53bd_debian ()
54{
55        DIR_PG="$1"
56        PG_CONF="$2"
57        PG_HBA="$3"
58        DIR_CONF="$4"
59        # Instala os pacotes do servico
60        apt-get install -y postgresql postgresql-common postgresql-client postgresql-client-common
61        /etc/init.d/postgresql stop
62        # Gera um link do initdb, para padronizar com o Centos
63        ln -sf /usr/lib/postgresql/8.4/bin/initdb /usr/bin/
64        # Faz backup da base do Postgres
65        mv $DIR_PG $DIR_PG.`date +"%s"`
66        mkdir -p $DIR_PG/main
67
68        chown -R postgres:postgres $DIR_PG
69        chmod -R 770 $DIR_PG
70
71        bd $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
72        rm -f $DIR_PG/postgresql.conf
73        rm -f $DIR_PG/pg_hba.conf
74
75        /etc/init.d/postgresql start
76
77        # Inicializa a base de dados do Expresso
78        create_db
79}
80
81bd_debian-squeeze ()
82{
83        DIR_PG="/var/lib/postgresql/8.4/main"
84        DIR_CONF="/etc/postgresql/8.4/main"
85        SQUEEZE=debian/squeeze/$DIR_CONF
86        bd_debian $DIR_PG $SQUEEZE/postgresql.conf $SQUEEZE/pg_hba.conf $DIR_CONF
87}
88
89bd_ubuntu ()
90{
91        DIR_PG="$1"
92        PG_CONF="$2"
93        PG_HBA="$3"
94        DIR_CONF="$4"
95        # Instala os pacotes do servico
96        apt-get install -y postgresql postgresql-common postgresql-client postgresql-client-common
97        /etc/init.d/postgresql stop
98        # Gera um link do initdb, para padronizar com o Centos
99        ln -sf /usr/lib/postgresql/9.1/bin/initdb /usr/bin/
100        # Faz backup da base do Postgres
101        mv $DIR_PG $DIR_PG.`date +"%s"`
102
103        mkdir -p $DIR_PG/main
104        chown -R postgres:postgres $DIR_PG
105        chmod -R 770 $DIR_PG
106
107        bd_ubuntu1110 $DIR_PG $PG_CONF $PG_HBA $DIR_CONF
108        #rm -f $DIR_PG/postgresql.conf
109        #rm -f $DIR_PG/pg_hba.conf
110        /etc/init.d/postgresql start
111
112        # Inicializa a base de dados do Expresso
113        create_db
114}
115
116bd_ubuntu-11.10 ()
117{
118        DIR_PG="/var/lib/postgresql/9.1/main"
119        DIR_CONF="/etc/postgresql/9.1/main"
120        UBUNTU=ubuntu/11.10/$DIR_CONF
121        bd_ubuntu $DIR_PG $UBUNTU/postgresql.conf $UBUNTU/pg_hba.conf $DIR_CONF
122}
123
124# Parametros: Iguais a funcao bd;
125bd_rhel ()
126{
127        DIR_PG="$1"
128        PG_CONF="$2"
129        PG_HBA="$3"
130        DIR_CONF="$4"
131        # Instala os pacotes do servico
132        yum -y install postgresql postgresql-server
133        service postgresql stop
134        # Faz backup da base do Postgres
135        mv $DIR_PG $DIR_PG.`date +"%s"`
136        mkdir -p $DIR_PG/data
137        chown -R postgres:postgres $DIR_PG
138
139        bd $DIR_PG/data $PG_CONF $PG_HBA $DIR_CONF
140
141        chown -R postgres:postgres $DIR_PG
142        chmod 700 $DIR_PG
143
144        service postgresql start
145        chkconfig postgresql on
146
147        # Inicializa a base de dados do Expresso
148        create_db
149}
150
151bd_rhel6 ()
152{
153        DIR_PG="/var/lib/pgsql"
154        DIR_CONF="$DIR_PG/data"
155        RHEL6=rhel/6/var/lib/pgsql/data
156        bd_rhel $DIR_PG $RHEL6/postgresql.conf $RHEL6/pg_hba.conf $DIR_CONF
157}
Note: See TracBrowser for help on using the repository browser.