Como melhorar o script de backup do banco de dados do PostgreSQL - usado com o crontab

0

Existem cerca de 15 bancos de dados para fazer backup diariamente. A senha está definida para o usuário postgres .

pg_dumpall é executado no início do script para um backup completo. pg_dump é executado no mesmo script para bancos de dados específicos em um loop .

Como o script será usado repetidamente usando o crontab, uma frase secreta deve ser passada como parâmetro adicional durante a execução desses comandos.

A solução atual está usando .pgpass ( * ) com chmod 0600, pertencente a postgres .

Onde a senha é necessária, cada comando é composto de:

PGPASSFILE=/path/to/.pgpass <command> <arguments pipes>

Por exemplo: PGPASSFILE=/path/to/.pgpass psql -tl | cut -d '|' -f1 | grep 'dbwildcard'

A mesma string PGPASSFILE é prefixada nos comandos pg_dump e pg_dumpall .

  • Isso pode ser feito melhor, mais elegante, mais curto?
    Passar PGPASSFILE=/path/to/.pgpass string em uma variável quebra o comando.
  • E a segurança? É .pgpass melhor ou pior na configuração do arquivo pg_hba.conf :

    local all postgres trust

    Sempre há uma opção melhor.

  • Por último, o vacuumdb não parece funcionar com o PGPASSFILE. Como contornar o argumento da senha nesse caso?

(*) link
link

    
por zer0mode 07.08.2018 / 17:34

0 respostas