shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] inserir senha em pg_dump sem interação


From: ®i©
Subject: Re: [shell-script] inserir senha em pg_dump sem interação
Date: Wed, 11 Nov 2009 14:07:56 -0200

Galera continuando com a duvida....

Segue o script abaixo, criei um array que contém o nome das bases que serão
backupeadas, faço um dump individual (.backup) em cada uma e empacoto com
tar, e removo os arquivos .backup;

Entretanto não estou conseguindo fechar o script. Nos checkpoint aparece o
comando esperado, mas dá erro na execução.



#!/bin/bash

DATE=`date +%Y%m%d-%H%M`;
HOST=`uname -n`;
BKPDIR=/var/backups/postgresql
FILE=""

#DATABASE=( "agcrises" "asprev" "igeopr" );

DATABASE[0]="agcrises"
DATABASE[1]="asprev"
DATABASE[2]="igeopr"

#echo ${DATABASE[0]}
#echo ${DATABASE[2]}
#echo ${#DATABASE[@]}
echo $HOST

echo cd $BKPDIR/
cd $BKPDIR/

echo ------------------------ check pwd `pwd`
----------------------------------------

echo "rm [ -e pg_`echo $HOST`_backup.tar.gz ] && rm pg_`echo
$HOST`_backup.tar.gz"
[ -e pg_`echo $HOST`_backup.tar.gz ] && rm pg_`echo $HOST`_backup.tar.gz;

for ((i=0; i<${#DATABASE[@]}; i++));
  do
        #echo ${DATABASE[$i]}
        FILE=pg_"${DATABASE[$i]}"_"$HOST"_"$DATE".backup
        echo $FILE

        echo "pg_dump -vh localhost -U postgres" ${DATABASE[$i]}" >> "$FILE;
        #pg_dump -vh localhost -U postgres ${DATABASE[$i]} >>
pg_${DATABASE[$i]}_$HOST_$DATE.backup;

        echo [ -e pg_"$HOST"_backup.tar.gz ] &&" echo "tar uvzf
pg_$HOST_backup.tar.gz pg_"${DATABASE[$i]}"_"$HOST"_"$DATE".backup || echo
"tar cvzf pg_"$HOST"_backup.tar.gz
pg_"${DATABASE[$i]}"_"$HOST"_"$DATE".backup

        [ -e pg_$HOST_backup.tar.gz ] && tar uvzf pg_$HOST_backup.tar.gz
pg_${DATABASE[$i]}_$HOST_$DATE.backup || tar cvzf pg_$HOST_backup.tar.gz
pg_${DATABASE[$i]}_$HOST_$DATE.backup

        echo "rm -f "$FILE
        echo rm -f $FILE
  done;

exit 0;

2009/10/22 ®i©@®ÐØ <address@hidden>

> Valeu Márcio, já é o suficiente para eu procegir!
> E muito obrigado a todos os outro colegas.
>
>
> 2009/10/22 Márcio Gil <address@hidden>
>
>>
>>
>> Você pode utilizar o arquivo .pgpass
>>
>> Documentação:
>>
>> http://www.postgresql.org/docs/8.3/static/libpq-pgpass.html
>>
>> > -----Original Message-----
>> > From: ®i©@®ÐØ
>> >
>> > pretendo executar direto do crontab sem fazer script, teria
>> > alguma outra
>> > forma sem variavel de sessão?
>> >
>> > 2009/10/22 Márcio Gil <address@hidden <marciomgil%40bol.com.br>>
>> >
>> > >
>> > >
>> > > Isto você resolve exportando a variável PGPASSWORD. Algo assim:
>> > >
>> > > export PGPASSWORD="..."
>> > > if ! pg_dump -i -h localhost -p 5432 -U postgres -F c -b -D -v
>> -f
>> > > ; then
>> > > export PGPASSWORD=""
>> > > unset PGPASSWORD
>> > > echo -en '\n \E[37;41;1mNão foi possível efetuar a cópia de
>> > > segurança!\E[0m\n'
>> > > read
>> > > exit
>> > > fi
>> > > export PGPASSWORD=""
>> > > unset PGPASSWORD
>> > >
>> > > No entanto eu fiz um script completo de cópia de segurança para
>> > > PostgreSQL. Eu o utilizo com Cygwin, mas não vai ser difícil
>> > > adapta-lo para Linux:
>> > >
>> > > http://bash.pastebin.com/f325fc4e5
>> > >
>> > > Se lhe interessa pode modifica-lo a vontade, se precisar de
>> ajuda é
>> > > só falar.
>> > >
>> > > Márcio Gil.
>> > >
>> > >
>> > > > -----Original Message-----
>> > > > From: ®i©@®ÐØ
>> > > >
>> > > > Galera, Muito bom dia a todos.
>> > > > O meu problema é o seguinte, preciso executar o comando a
>> baixo
>> > > sem
>> > > > interação humana, e que por questão de segurança é exigido
>> > > > autenticação.
>> > > >
>> > > > pg_dump -i -h localhost -p 5432 -U postgres -F c -b -D -v -f
>> > > > "pg_bkp.backup"
>> > > > baseDeDados
>> > > >
>> > > > tentei executa-lo como abaixo e não deu certo. Gostaria de
>> ajuda
>> > > dos
>> > > > senhores.
>> > > > pg_dump -i -h localhost -p 5432 -U postgres -F c -b -D -v -f
>> > > > "pg_bkp.backup"
>> > > > baseDeDados <<< senha
>> > > >
>> > > >
>> > > > desde já, muito grato.
>> > > > --
>> > > > ----------------------------------------------------------
>> > > > -----------------------
>> > > > A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
>> > > > The grace of our Lord Jesus Christ be with you. (1ªTs 5.28)
>> > > > Jesus te ama, aceite-O! Jesus loves you, accept you Him!
>> > > >
>> > > > ®i©@®ÐØ
>> > > >
>> > > >
>> > >
>> > >
>> > >
>> >
>>
>>  
>>
>
>
>
> --
>
> -------------------------------------------------------------------------------------
>
> A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
> The grace of our Lord Jesus Christ be with you.  (1ªTs 5.28)
> Jesus te ama, aceite-O! Jesus loves you, accept you Him!
>
>                                               ®i©@®ÐØ
>



-- 
-------------------------------------------------------------------------------------
A Graça do nosso Senhor Jesus Cristo seja contigo. (1ªTs 5.28)
The grace of our Lord Jesus Christ be with you.  (1ªTs 5.28)
Jesus te ama, aceite-O! Jesus loves you, accept you Him!

                                              ®i©@®ÐØ


[As partes desta mensagem que não continham texto foram removidas]



reply via email to

[Prev in Thread] Current Thread [Next in Thread]