docs: add PostgreSQL cold storage backup documentation to Wasabi

Antigravity AI Agent
2026-05-11 08:16:03 +02:00
parent 5d898a4334
commit 6d05533306
2 changed files with 63 additions and 0 deletions
+1
@@ -14,6 +14,7 @@ Selecione um tópico abaixo para acessar o guia detalhado:
* [Rede VPN e Segurança Zero-Trust](VPN_Network_Architecture.md): Como as VPSs se comunicam por meio da VPN privada e o modelo de isolamento lateral de rede.
### ⚙️ 2. Infraestrutura e Rede
* [Backup do Banco para Wasabi (Cold Storage)](PostgreSQL_Wasabi_Backup.md): Script e CRON job para fazer backup autônomo do banco da VPS 3 para a nuvem.
* [Resolução de Erros de SSL e Proxy](SSL_Proxy_SSL_Fix.md): Como corrigimos o erro crítico de Mixed Content do SSL por proxy reverso.
* [Contador de Versões e Painel de Deploy](Versions_Deploy_System.md): Detalhamento do controle de deploys automáticos em ambiente multi-VPS.
+62
@@ -0,0 +1,62 @@
# 💾 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**:
```bash
#!/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:
```bash
# 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.