Admin
Backup e restore
Backup do Postgres rodando automático no manager Hetzner. Storage off-site no Hetzner Storage Box.
Backup automático
- Schedule: diário 03:00 UTC
- Script:
/opt/casaroxa/backup.shno host Swarm - Local:
/var/backups/casa-roxa/(mantém últimos 30 dias) - Off-site: sync diário pra Storage Box BX11
Tirar backup manual (admin)
Antes de operações arriscadas (migração de schema, mudança massiva):
ssh root@<ip-vps>
CID=$(docker ps -qf "name=casaroxa_postgres" | head -1)
STAMP=$(date +%Y%m%d_%H%M%S)
docker exec "$CID" pg_dump -U casaroxa casa_roxa | gzip > /var/backups/casa-roxa/manual_${STAMP}.sql.gz
gunzip -t /var/backups/casa-roxa/manual_${STAMP}.sql.gz && echo OK
Restore
# Pra restaurar full
docker exec -i "$CID" psql -U casaroxa -d casa_roxa < /var/backups/casa-roxa/<arquivo>.sql
# Pra restaurar só uma tabela
pg_restore -d casa_roxa -t TabelaX <arquivo>
Backup off-site
docs/BACKUP-RESTORE.md no repo tem passo-a-passo completo. Resumo:
- SSH key em Storage Box
rsyncdiário prau<XXXXXX>@u<XXXXXX>.your-storagebox.de:23- Retenção: 30 dias locais + 90 dias off-site