Shell -Script para executar pg_dump parametrizado por data

1. Shell -Script para executar pg_dump parametrizado por data

Newton Teixeira
NewtonJr.

(usa CentOS)

Enviado em 03/05/2010 - 14:22h

Olá comunidade, peço ajuda pra quem trabalha com Postgres em ambiente Linux e que também escreve Shell-scripts.


Preciso fazer uma rotina de backup de uma base em Postgresql 8.2.4.

Existem centenas de tabelas na base; todas as tabelas estão no formato bhXXX_h_YYYY_MM_DD,
onde XXX é o rótulo de um tipo de tabela e YYYY_MM_DD refere-se à data de criação da tabela.

Eis exemplos: bheqp_h_2009_01_09, bhmul_h_2009_01_09 , bhpas_h_2009_01_09, bhpds_h_2009_01_09, etc.

Fiz uma cópia de dados de uma tabela do servidor através do pgAdmin e obtive o seguinte comando:


pg_dump.exe --host 10.98.0.83 --port 5432 --username sage
--format plain --data-only --file "/tmp/sage/arqs/bheqp_h_2009_01_09.sql" -t "\"public ".\"bheqp_h_2009_01_09\"" bhcolsl_ems_sage


Preciso fazer um programa/script para rodar , que o usuário entre com a data inicial e final e execute o comando acima
de acordo com os parâmetros das datas; O arquivo gerado tem que ter o mesmo nome da tabela copiada.

Seria algo assim como o pseudo-codigo abaixo:

---------------------------------------
./copy_tabelas 2010-01-01 2010-01-31
---------------------------------------


tipos_tabelas[] = { ‘mul’, ‘eqp’, ‘pas’, ‘pds’, ‘lia’ };

For (i=0; i < tipos_tabelas.lenght; i++) {

data_aux = data_inicial;
While (data_aux <= data_final) {
Nome_arquivo = data_aux || ‘.dados’;

EXCUTAR pg_dump.exe --host 10.98.0.83 --port 5432 --username sage
--format plain --data-only --file "<<Nome_arquivo>>.sql" -t "\"public\".\"bh<<tipos_tabelas[i]>>_h_<<data_aux>>\"" bhcolsl_ems_sage

data_aux = data_aux + 1;
}
}


Eu gostaria de saber como fazer isso em Shell-script. Se alguém puder dar um help.

Desde já agradeço. Att.


NEWTON TEIXEIRA DO N. JR.