Backups
Backups do banco e das mídias da loja: agendamento noturno, backup manual, download e restauração.
Backup é a cópia de segurança do banco de dados da loja e das mídias enviadas (imagens, arquivos). A plataforma faz uma cópia automática por noite e o administrador pode pedir outras quando quiser, baixar os arquivos para guardar fora da plataforma e restaurar a loja a partir de uma cópia.
Como funciona
Um backup nasce pending, vira running enquanto o arquivo é gerado e termina completed (ou failed). Ao restaurar, o registro passa por restoring e termina restored (ou failed).
| Status | Significado |
|---|---|
pending | Registrado, ainda não começou. |
running | Gerando o arquivo do banco e o pacote de mídias. |
completed | Pronto: pode ser baixado e restaurado. |
failed | Falhou (veja error_msg). Também é o estado de um backup cuja restauração falhou. |
restoring | Restauração em andamento; a loja está em manutenção. |
restored | Já foi usado em uma restauração; continua baixável e restaurável. |
expired | O arquivo foi removido pela retenção; só o registro resta. Baixar ou restaurar dá 410. |
Conceitos principais
Banco e mídias são arquivos separados
O arquivo do banco (.sql.gz) sempre existe em um backup concluído. O pacote de mídias (.tar.gz) é opcional: confira media_file_size antes de baixar.
Retenção
Uma rotina diária apaga do disco os arquivos mais antigos que o período de retenção da instalação (7 dias por padrão) e marca o registro como expired. O arquivo mais novo de cada tipo (banco e mídias) nunca é apagado, mesmo vencido.
Agendador
O backup noturno (por padrão às 03:00) é configuração da instalação. Use Estado do agendador para ver o horário, a próxima execução e se há erro na expressão.
Endpoints
| Método | Caminho | Para que serve | Página |
|---|---|---|---|
| GET | /api/v1/admin/backups | Lista os backups, do mais novo ao mais antigo | Criar e consultar backups |
| POST | /api/v1/admin/backups | Pede um backup manual (assíncrono) | Criar e consultar backups |
| GET | /api/v1/admin/backups/{id} | Consulta um backup (para acompanhar o andamento) | Criar e consultar backups |
| GET | /api/v1/admin/backups/scheduler/status | Estado do agendador de backups noturnos | Criar e consultar backups |
| GET | /api/v1/admin/backups/{id}/download | Baixa o arquivo do banco (.sql.gz) | Baixar backups |
| GET | /api/v1/admin/backups/{id}/download-media | Baixa o pacote de mídias (.tar.gz) | Baixar backups |
| POST | /api/v1/admin/backups/{id}/restore | Restaura o banco (e opcionalmente as mídias) a partir de um backup | Restaurar e excluir |
| DELETE | /api/v1/admin/backups/{id} | Exclui um backup e o arquivo dele | Restaurar e excluir |
Erros comuns
- Esperar que
POST /admin/backupsjá devolva o arquivo pronto: ele devolve202epending. - Enviar
POST /admin/backupssem corpo: o corpo precisa ser um JSON ({}serve). - Restaurar sem antes criar um backup do estado atual.
- Tentar baixar um backup
pendingourunning: dá 400. - Ignorar o
statusfailedde backups noturnos: o campoerror_msgdiz o motivo e vale monitorar. - Confiar em um backup
expired: o registro existe, mas o arquivo não.