domingo, 27 de novembro de 2016

Automatizando backup de uma base PostgreSQL utilizando Cron

Olá galera,

Faz muito tempo que não posto nada devido a correria desse ano. Em 2017, vou tentar me organizar melhor para que possamos ter mais posts e vídeos, ok?

No post de hoje, mostraremos como automatizar o backup de um banco de dados no PostgreSQL utilizando o Cron. SERÁ NECESSÁRIO O USO DO TERMINAL PARA TODOS OS PASSOS.

1 - Utilizando o usuário postgres

su postgres

2 - Criando e configurando o arquivo .pgpass. Esse arquivo deve ser criado para que não seja exigida a senha na hora da geração do backup através do comando pg_dump.

cd /var/lib/postgresql/
touch .pgpass
nano .pgpass

Com o arquivo .pgpass aberto, adicione a linha com os paramêtros do seu banco e salve.

localhost:5432:seu_banco:seu_usuario:sua_senha

Altere a permissão do arquivo para 0600.

chmod 0600 .pgpass

3 - Acessando o crontab e agendando o job.

50 3 * * * pg_dump -h localhost -U postgres -Fc -f /home/meu_usuario/banco_`date "+\%d_\%m_\%Y"`.backup meu_banco

Na linha acima geraremos o backup do banco todos os dias às 03:50 AM. O arquivo será colocado dentro da pasta meu_usuario cujo o nome será banco concatenado com data corrente. Ex: banco_27_11_2016.backup.

Fica aí a dica.

Um forte abraço e até a próxima.