Este script realiza backups automáticos de um banco PostgreSQL, com verificação de integridade (CRC32) e compactação ZIP nativa, sem depender de ferramentas externas como 7z.
Foi projetado para rodar em ambientes de produção, inclusive dentro de containers Docker, e pode ser facilmente agendado via cron.
✅ Criação automática de backups usando pg_dump
✅ Compactação nativa com ZIP (sem dependências externas)
✅ Cálculo de CRC32 para verificação de integridade
✅ Criação automática da pasta de destino
✅ Compatível com execução via cron
✅ Configuração por variáveis de ambiente
✅ Opção para remover o arquivo .sql após compactar
As configurações são lidas de variáveis de ambiente, o que permite rodar o script sem interação manual (ideal para cron jobs).
Você pode definir as variáveis diretamente no sistema ou em um arquivo .env (se estiver usando Docker Compose, por exemplo).
# Credenciais do banco (exemplo)
PGUSER=usuario_postgres
PGPASSWORD=senha_postgres
PGHOST=db.example.internal
PGPORT=0000
PGDATABASE=meu_banco_de_dados
# Diretório onde o backup será salvo
BACKUP_DIR=/minha_pasta
# Se "true", apaga o .sql após compactar
REMOVE_SQL=true