---
title: Backup
slug: aura/backup
docTags: 
createdAt: 2025-07-07T20:39:55.890Z
---

Esta documentação detalha métodos recomendados para realizar backup das bases de dados e dos volumes persistentes (PVC) da plataforma Aura. Cobre abordagens manuais e uso de ferramentas de backup, sem detalhar ou citar nomes de softwares específicos.

***

## 1. Backup de Bancos de Dados (PostgreSQL)

Existe apenas uma base de dados PostgreSQL por ambiente (Produção, Teste, Homologação, etc.), necessário para o funcionamento da plataforma Aura:

- **Nome padrão:** `aura_blocks`

***

### 1.1. Métodos de Backup do PostgreSQL

### 1.1.1. Backup Manual com pg\_dump (linha de comando

O método mais comum e recomendado para backup lógico do PostgreSQL utiliza comandos nativos da ferramenta, geralmente executados a partir do pod ou da máquina onde está o banco.

**Exemplo A: Dump direto do pod para o host local**

```sh
kubectl exec -it <namespace>/<postgresdb-pod> -- pg_dump -U <db_user> <db_name> > ./backup.sql
```

:::BlockQuote
Este comando executa o `pg_dump` diretamente dentro do pod e redireciona o resultado (`backup.sql`) para o seu host local, sem necessidade de copiar depois.
:::

- **Prós:** Prático, evita etapas extras.
- **Contras:** O dump é transferido pela rede; em bancos muito grandes, avalie limitações de banda e possíveis timeouts do `kubectl`.

**Exemplo B: Dump gravado no pod e copiado depois**

```sh
kubectl exec -it <namespace>/<postgresdb-pod> -- bash -c "pg_dump -U <db_user> <db_name> > /tmp/backup.sql"

kubectl cp <namespace>/<postgresdb-pod>:/tmp/backup.sql ./backup.sql
```

:::BlockQuote
Use este método se preferir salvar o dump no pod e copiar para o host em seguida.
:::

### 1.1.2. Backup via Interface Gráfica

Se preferir interface gráfica, utilize ferramentas de administração de bancos de dados compatíveis com PostgreSQL, seguindo a documentação oficial dessas ferramentas.

***

### 1.1.3. Backup Avançado

Ferramentas especializadas podem ser utilizadas para automatizar, agendar e aprimorar backups em ambientes críticos ou com alto volume de dados, permitindo, por exemplo, backups incrementais, upload em nuvem, gerenciamento de retenção, entre outros recursos.

- Consulte a documentação das ferramentas de sua escolha para instalação, configuração e restore.

***

### 1.1.4. Backup do Volume do PostgreSQL (PVC)

Também é possível realizar backup do volume do banco utilizando métodos manuais (como cópia de arquivos) ou ferramentas de backup de volumes persistentes.

:::BlockQuote
**Importante:** Para garantir a consistência do backup, recomenda-se pausar o banco ou executá-lo em modo de backup durante o processo.
:::

***

### 1.2. Restauração

### 1.2.1. Restauração Manual

:::BlockQuote
**Importante:** Antes de restaurar o backup, certifique-se de que a base de dados (`<db_name>`) já está criada no PostgreSQL. O comando psql não cria a base automaticamente durante a restauração.
:::

```sh
# Exemplo: criando a base de dados se ainda não existir
kubectl exec -it <namespace>/<postgresdb-pod> -- psql -U <db_user> -c "CREATE DATABASE <db_name>;"
```

Depois, prossiga com a restauração.

**Exemplo A: Restauração a partir do host local direto do pod**

```sh
cat ./backup.sql | kubectl exec -i <namespace>/<postgresdb-pod> -- psql -U <db_user> <db_name>
```

**Exemplo B: Copia o backup para o pod e depois é feita a restauração**

```sh
kubectl cp ./backup.sql <namespace>/<postgresdb-pod>:/tmp/backup.sql
kubectl exec -it <postgresdb-pod> -- psql -U <db_user> -d <db_name> -f /tmp/backup.sql
```

***

### 1.3. Boas Práticas

- Automatize backups periódicos em produção.
- Mantenha múltiplas cópias (offsite/nuvem/local).
- Sempre teste o restore em ambiente de homologação.
- Documente o processo de restauração.

***

### 1.4. Comparativo de Métodos

| Método                     | Consistência | Automatizável | Offsite | Complexidade | Recuperação |
| -------------------------- | ------------ | ------------- | ------- | ------------ | ----------- |
| Comandos nativos           | Sim          | Sim           | Sim     | Baixa        | Fácil       |
| Ferramentas especializadas | Sim          | Sim           | Sim     | Média        | Avançada    |
| Backup do volume (PVC)     | Sim\*        | Sim           | Sim     | Média        | Rápida      |

:::BlockQuote
\*Consistência depende do banco estar pausado ou em modo de backup durante o procedimento.
:::

***

## 2. Backup de Volumes Persistentes (PVC)

Os volumes persistentes (PVC) estão descritos nos manifestos do Kubernetes, geralmente no arquivo `persistentvolumeclaim.yaml`. Exemplo de PVC:

```yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: storage
  namespace: aura-blocks
spec:
  accessModes:
    - ReadWriteMany
  resources:
    requests:
      storage: 50Gi
  storageClassName: <storageClassName>
```

A escolha do `storageClassName` impacta diretamente as opções de backup disponíveis.

***

### 2.1. Métodos de Backup de PVC

### 2.1.1. Backup Manual

Realize backup copiando arquivos diretamente do volume do pod para outro local seguro.

**Exemplo A: Usando kubectl cp**

```sh
kubectl cp <namespace>/<pod>:/caminho/dados ./backup-local
```

:::BlockQuote
Substitua `<namespace>`, `<pod>` e o caminho do volume conforme sua aplicação.
:::

**Exemplo B: Usando container temporário + tar**

```sh
kubectl run backup-job --rm -i -t --restart=Never \
  --image=alpine \
  --overrides='{"spec": {"volumes": [{"name": "data", "persistentVolumeClaim": {"claimName": "<nome-pvc>"}}], "containers": [{"name": "backup", "image": "alpine", "command": ["sh"], "stdin": true, "tty": true, "volumeMounts": [{"mountPath": "/caminho/dados", "name": "data"}]}]}}' -- \
  sh
```

Dentro do shell:

```sh
tar czvf /tmp/backup.tar.gz /caminho/dados
```

Em outro shell, copie o arquivo do pod:

```sh
kubectl cp <namespace>/backup-job:/tmp/backup.tar.gz ./backup.tar.gz
```

**Dicas:**

- Compacte arquivos grandes (`tar`, `gzip`).
- Faça backup regularmente e teste a restauração.

***

### 2.2. Comparativo dos Métodos

| Método                | Suporte a Volumes | Backup Offsite | Automação | Complexidade | Volume Grande |
| --------------------- | ----------------- | -------------- | --------- | ------------ | ------------- |
| Manual (`cp`, `tar`)  | Sim               | Sim            | Baixa     | Baixa        | Médio         |
| Ferramentas de backup | Sim               | Sim            | Alta      | Média/Alta   | Ótimo         |

***

## 3. Recomendações Finais

- Realize backup periódico dos dados críticos.
- Prefira automação para ambientes produtivos.
- Sempre teste a restauração!
- Documente o processo de restauração para cada método.
- Utilize múltiplas estratégias para resiliência máxima.

***

### Referências

- [Backup PostgreSQL](https://www.postgresql.org/docs/17/backup.html)
- [PgAdmin Backup](https://www.pgadmin.org/docs/pgadmin4/development/backup_dialog.html)
