2013/9/30 Hugo Quinteiro <[email protected]>

>                  Bom dia, ****
>
> ** **
>
>                 Executo o comando “/usr/bin/./pg_dump -U postgres -F c
> --file=/etc/publico/backup/$(date +%Y_%m_%d__%H_%M_%S).backup basededados”
> e consigo fazer o backup normalmente. Mas ao carregar o comando: “0 22 * *
> * /usr/bin/./pg_dump -U postgres -F c --file=/etc/publico/backup/$(date
> +%Y_%m_%d__%H_%M_%S).backup websac”, no crontab o Linux não executa o
> backup. ****
>
> ** **
>
>                 Alguém pode me ajudar??****
>
> **
>

O problema que você está enfrentando é o fato do crontab tratar um símbolo
de porcentagem de forma especial. Ele faz um parser e considera cada "%"
como uma nova linha para mandar ao shell. Nesse caso a solução para seus
problemas seria:

1. Adicionar escapes:

0 22 * * * /usr/bin/./pg_dump -U postgres -F c
--file=/etc/publico/backup/$(date +\%Y_\%m_\%d__\%H_\%M_\%S).backup websac

2. Ou, colocar a execução do comando num script .sh e chamá-lo pelo cron.

Eu acho a segunda solução mais fácil e mais adequada, principalmente na
hora de dar manutenção.

OBS: Um backup salvando em "/etc/"? Não acha que seria bom rever os locais
de seus arquivos? Procure por Linux FHS para saber mais.


Atenciosamente,
-- 
Matheus de Oliveira
Analista de Banco de Dados
Dextra Sistemas - MPS.Br nível F!
www.dextra.com.br/postgres
_______________________________________________
pgbr-geral mailing list
[email protected]
https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral

Responder a