1
PostgreSQL_Wasabi_Backup
Antigravity AI Agent edited this page 2026-05-11 08:16:03 +02:00

💾 Backup Frio do Banco de Dados para Wasabi (S3)

Este guia documenta o script e as instruções para configurar o backup autônomo (Cold Storage) do PostgreSQL hospedado na VPS 3 diretamente para o armazenamento seguro em nuvem Wasabi (compatível com S3).

Esta solução impede a perda de dados caso a VPS 3 (Data Appliance) sofra algum colapso.


🏗️ 1. O Script de Backup

O script abaixo realiza o "Dump" (cópia lógica) completo do banco de dados newwhats, compacta em formato .gz e utiliza a ferramenta aws-cli para transferir os dados criptografados para o Bucket Wasabi.

Crie o arquivo em /home/deploy/scripts/backup-db-wasabi.sh na VPS 3:

#!/bin/bash
# ────────────────────────────────────────────────────────
# Script de Backup Automático (PostgreSQL -> Wasabi S3)
# ────────────────────────────────────────────────────────
set -e

# Configurações do Banco
DB_USER="deploy"
DB_NAME="newwhats"
DB_HOST="10.99.0.3"

# Configurações AWS/Wasabi
BUCKET_NAME="newwhats-backups"
ENDPOINT_URL="https://s3.wasabisys.com"

# Nomes de Arquivo
TIMESTAMP=$(date +"%Y-%m-%d_%H-%M-%S")
BACKUP_FILE="/tmp/newwhats_backup_${TIMESTAMP}.sql.gz"

echo "[$(date)] Iniciando Dump do PostgreSQL..."
pg_dump -U $DB_USER -h $DB_HOST -F p $DB_NAME | gzip > $BACKUP_FILE

echo "[$(date)] Enviando para o Wasabi (S3)..."
aws s3 cp $BACKUP_FILE s3://${BUCKET_NAME}/postgresql/${TIMESTAMP}.sql.gz \
  --endpoint-url=$ENDPOINT_URL

echo "[$(date)] Limpando arquivo local temporário..."
rm -f $BACKUP_FILE

echo "[$(date)] Backup concluído com sucesso!"

🔐 2. Instalação de Ferramentas e Credenciais

Para o script acima funcionar, o agente ou administrador deve rodar na VPS 3:

  1. sudo apt install postgresql-client awscli
  2. Executar aws configure e inserir a Access Key e Secret Key da conta Wasabi.
  3. Criar o bucket no Wasabi se ainda não existir.

🕒 3. Agendamento CRON (Automatização Diária)

Após testar o script manualmente (bash /home/deploy/scripts/backup-db-wasabi.sh), adicione-o no crontab do usuário deploy na VPS 3 para rodar silenciosamente todas as madrugadas:

# Rodar todos os dias às 03:00 da manhã
0 3 * * * bash /home/deploy/scripts/backup-db-wasabi.sh >> /home/deploy/scripts/backup.log 2>&1

⚠️ Ação Requerida na VPS 3: Qualquer agente que ler esta Wiki com ordens para implantar o backup, DEVE fazer login via SSH na VPS 3 e aplicar as configurações descritas acima em modo "Apenas Adicionar", sem apagar bancos locais.