DEV Community

Cover image for Automatizando Backups no PostgreSQL

Automatizando Backups no PostgreSQL

Agora que você esta pronto, Vamos lá !
Recentemente, precisei criar alguns scripts para implementar backups automatizados para o meu ambiente de produção com o PostgreSQL. Desenvolvi um script de backup no ambiente de produção e salvo o backup no servidor de homologação para posterior restauração.
Usando o cronjob, você possui uma a automatização da execução desses backups . Os scripts produzem os seguintes formatos de backups:
Backup simples: produz uma versão gzip do script SQL
Backup personalizado: produz um arquivo compactado em formato personalizado, adequado para entrada no pg_restore.
Crie o arquivo pg_backup.sh e cole o seguinte conteúdo nele.

Agora precisamos conceder ao script permissão de execução

chomd +x pg_backup.sh
Enter fullscreen mode Exit fullscreen mode

Os comando scp envia uma cópia do backup para outro servidor, neste exemplo, envio para o meu servidor de homologação para manter uma copia atual todos os dias em homologação, além da redundância ao guardar o arquivo sempre que preciso restaurar a base de homologação ja tenho um arquivo no servidor, mas você pode enviar para qualquer máquina que desejar, para este comando funcionar sem a necessidade de digitar a senha, é necessário copiar sua chave ssh para o servidor com este comando:

ssh-copy-id -i ~/.ssh/id_rsa.pub 'user'@'server-address-or-ip'
Enter fullscreen mode Exit fullscreen mode

Por último para que esse backup seja executado automaticamente precisamos criar uma entrada no agendador de tarefas do linux, digite o comando para abrir o crontab:

crontab -e
Enter fullscreen mode Exit fullscreen mode

Agora insira esta linha no arquivo

# PostgreSQL Backup
 00 00 * * * /path/to/script/pg_backup.sh
Enter fullscreen mode Exit fullscreen mode

Latest comments (0)