Agente HTTPS
- O host do banco precisa de
- HTTPS de saída até o DumpCat
- Banco de dados
- Inalterado, mesmo que só escute em 127.0.0.1
- Instalação
sudo ./install.sh --agent --server … --key …- Ideal para
- Não mexer na rede nem na configuração do MySQL
Código aberto · Backup e restauração para MySQL, MariaDB e PostgreSQL
O DumpCat é um único binário com interface web. Ele agenda backups, compacta e criptografa os arquivos, envia cópias para S3, Google Drive, OneDrive ou SFTP, verifica cada uma e traz seus dados de volta quando você precisar. Roda em Linux e Windows, totalmente offline.
MySQL 5.7 · 8.0 · 8.4 / Percona Server / MariaDB 10.x · 11.x / PostgreSQL 10+
Alguém apagou a tabela orders às 14:37:12. Arraste o marcador para escolher um ponto de recuperação: o DumpCat escolhe o backup base mais recente e os arquivos de binlog a reaplicar. O PostgreSQL funciona do mesmo jeito, com WAL arquivado.
Instalação
Um comando no Linux; no Windows, baixe e dê um duplo clique. O instalador configura um serviço que inicia junto com a máquina e as ferramentas de backup compatíveis com a versão do seu banco; a interface web vem embutida num único arquivo.
No servidor Linux, cole este comando e pressione Enter:
curl -fsSL https://dumpcat.cc/install.sh | sudo sh
Ele baixa a versão mais recente, confere o checksum e instala em /opt/dumpcat como serviço systemd, com rclone, o cliente MySQL/MariaDB, o mariabackup ou XtraBackup compatível e o mydumper quando os repositórios o tiverem; --postgres 16 adiciona as ferramentas cliente do PostgreSQL 16. As opções vão depois de sh -s --: --port 9090, --listen 127.0.0.1, --tls-auto.
Windows 10 / 11 ou Windows Server 2016+ 64 bits, roda como serviço do Windows. Prefere PowerShell? Execute irm https://dumpcat.cc/install.ps1 | iex no PowerShell (Administrador). mydumper e XtraBackup para MySQL não estão disponíveis; use o DumpCat no Linux para bancos de centenas de GB.
Novo na linha de comando? Siga o guia passo a passo (em inglês), com soluções para os problemas mais comuns.
http://<server-ip>:6369Crie a conta de administrador com o token de configuração de uso único que o instalador exibe (para vê-lo de novo: dumpcat setup-token).A porta 6369 faz MEOW
Digite 6-3-6-9 no teclado de um celular e você tem MEOW, o “miau” em inglês. É a porta padrão da interface web.
Métodos de backup
Para MySQL e MariaDB, o DumpCat orquestra mysqldump, mydumper e XtraBackup / MariaBackup. Ao adicionar um servidor, Test connection mostra a versão, o datadir, o tamanho de cada banco e quais métodos funcionam naquela máquina.
| mysqldumplógico | mydumperlógico, paralelo | XtraBackup / MariaBackupfísico, a quente | |
|---|---|---|---|
| Bloqueia o banco? | Não no InnoDB, graças ao --single-transaction | Um bloqueio global de poucos milissegundos para sincronizar as threads, depois nenhum | Nenhum bloqueio no InnoDB; um bloqueio de backup muito breve no final |
| Velocidade do backup | 1 thread por banco, vários bancos em paralelo | Multithread, tabelas divididas em blocos de linhas | A mais rápida: cópia de arquivos multithread |
| Velocidade da restauração | A mais lenta | Rápida: em paralelo, índices criados após a carga | Muito rápida: cópia de arquivos + prepare |
| Incremental | Não | Não | Sim |
| Restaurar um só banco, renomear | Sim | Sim | Não, só a instância inteira |
| Ideal para | Bancos com menos de 20–50 GB | Bancos grandes restaurados um de cada vez | De 100 GB a vários TB, RTO baixo |
PostgreSQL 10 ou mais recente: pg_dump por banco, com as tabelas exportadas e restauradas em paralelo, com outro nome ou em outro servidor; pg_basebackup para o cluster inteiro por uma conexão de replicação, com arquivamento contínuo de WAL para recuperar até um horário, um ponto de restauração ou uma posição do WAL.
Armazenamento
Grave no disco local e depois envie, ou transmita direto para a nuvem sem disco temporário. Cada armazenamento guarda sua própria quantidade de cópias, por exemplo 3 backups no local e 30 dias no S3.
<storage>/
shop-nightly/
20261018-020000-full/
manifest.json # sha256, binlog, GTID
shop.sql.zst.age
crm.sql.zst.age
_users.sql.zst.age # users & grants
binlog/20261018/
mysql-bin.000123.zst.age
Perdeu a máquina que roda o DumpCat? Instale uma cópia nova, adicione o armazenamento de novo e clique em Import backup catalog: todos os backups voltam para a lista. Sem o DumpCat, você ainda consegue restaurar com age, zstd e mysql ou pg_restore.
Conectividade
Quando o servidor de backup não consegue se conectar diretamente ao banco, por causa de um firewall, de NAT ou de um banco que só escuta em 127.0.0.1, deixe que o host do banco abra a conexão até o DumpCat. Há duas formas, e nenhuma abre porta no host do banco. Backups, restaurações e recuperação point-in-time funcionam como numa conexão direta.
sudo ./install.sh --agent --server … --key …dumpcat.conf, systemctl enable --now wg-quick@dumpcatO host do banco abre a conexão; os dados trafegam nos dois sentidos dentro dela. Backups físicos (XtraBackup / MariaBackup) funcionam por um agente iniciado com --allow-physical; pelo WireGuard, eles ainda exigem o DumpCat instalado no host do banco.
Operações
Tudo isso já vem no DumpCat e é ativado e ajustado pela interface web.
Dump completed.dumpcat update confere o SHA-256, faz backup da configuração, espera os backups em andamento terminarem e reverte em caso de falha.Pronto para IA
O DumpCat traz um servidor MCP e uma referência da API escrita em Markdown. Claude Code, Claude Desktop e outros agentes de IA se conectam com um token de API para perguntar quais backups falharam, ler os logs e explicar o motivo; com um token de acesso total, também podem executar backups, verificações e testes de restauração.
/api/mcp faz parte do DumpCat, não há mais nada para instalar: ferramentas para a visão geral, alertas, jobs, backups, logs, restaurações, testes de restauração e prévias de recuperação point-in-time. Clientes que iniciam um servidor local via stdio usam dumpcat mcp./api/docs.md é gerado pelo próprio servidor: autenticação, convenções, exemplos com curl e cada rota com o papel e o token que ela exige. Cole num chat de IA, ou deixe um agente ler e chamar a API REST.claude mcp add --transport http dumpcat \
https://backup.example.com/api/mcp \
--header "Authorization: Bearer mv_…"
Depois é só perguntar com suas palavras: “Quais backups falharam ontem à noite, e por quê?”, “O shop-nightly tem algum backup com menos de 24 horas?”, “Consigo recuperar a tabela orders para as 14:37 de ontem?”
Comparativo
Escolha uma ferramenta para ver todos os recursos lado a lado. As informações sobre outros produtos têm fonte e data nas páginas completas de comparação.
| DumpCat | SQL | |
|---|---|---|
| Every feature free | YesNo paid tier | PartlyFree: 2 DBs, basic featuresPartlyFree: 1 job, daily, 1 GBYesPartly1 server, 2 DBs; S3/AES paidYesYesNoEnterprise subscriptionPartlyFree: 1 job, daily, 500 MBNoPaid licence or subscriptionNoFrom $14/mo; 14-day trialYes |
| Runs on your own servers | YesOne binary | YesWindows onlyNoVendor SaaS (agent optional)YesDocker or HelmPartlyAgent here, dashboard in cloudYesYesYesNoVendor SaaS (SSH or agent)YesDesktop appNoVendor SaaS over SSHYesDocker Compose |
| Linux | Yesamd64, arm64 | PartlyRemote full backups onlyYesOver SSH or agentYesDocker or HelmYesAgentYesYesYesYesOver SSH or agentYesYesOver SSHYesDocker Compose |
| Hot physical backups | YesXtraBackup, MariaBackup | NoNo physical backupsPartlyOwn XtraBackup script, PlusNoPostgreSQL onlyNomysqldump + binlogs onlyNoLogical dumps only (mysqldump)YesYesNoLogical dumps only (mysqldump)NoLogical, client-side onlyNoLogical dumps only (mysqldump)NoLogical dumps only (mysqldump) |
| Point-in-time recovery | YesTo the second or a GTID | PartlyChosen-time restore undocumentedPartlyReplay not documentedNoPostgreSQL onlyYesNoDumps only, no binlogsPartlyManual; binlogs not archivedPartlyManual mysqlbinlog replayPartlyBinlogs; replay not documentedNoNo binlog backupsPartlyBinlogs kept; manual replayPartlyVultr managed DBs only |
| Encryption | Yesage, before upload | $Paid planProfessional editionYesAES-256 with your RSA keyYesAES-256-GCM$Paid planProfessional planYesOpenSSL (not in Debian pkg)YesAES-256 (--encrypt)YesAES-256$Paid planPaid plans (tier unclear)?Not documentedNot documented?Not documentedFile encryption not describedYes |
| Data skips the vendor | YesServer to your storage | YesPartlyNot with serverless workersYesYesBypasses sqlbak.comYesStays on the serverYesYesPartlyNot with serverless backupsYesStays on your computerPartlyNot for remote backupsYes |
| Automatic backup check | YesEvery run, plus drills | PartlyVia scheduled restore jobsPartlySize and presence checksYesReal restore; needs agentPartlyVia automatic restore tasksNoNot in the script?Not documentedNot documentedPartlyManual validate command?Not documentedNot documented?Not documentedNot documented?Not documentedNot documentedPartlyExit code, size, upload checks |
Código aberto
O DumpCat é distribuído sob a licença Apache-2.0. Sem conta, sem chave de licença, sem edição paga segurando recursos: tudo o que está nesta página vem na versão que você baixa.
latest.json uma vez por dia para avisar sobre novas versões, e você pode desligar isso nas configurações.git clone https://github.com/theweakestharrison/DumpCat.git
cd DumpCat
go build -o dumpcat ./cmd/dumpcat
Relatos de bugs, pull requests e traduções são bem-vindos, veja CONTRIBUTING.md. Informe problemas de segurança em privado, conforme descrito em SECURITY.md.
Download
Já baixou? Abra o START-HERE.txt no pacote, ou siga o guia de instalação passo a passo (em inglês).
Binários avulsos
Versões anteriores continuam disponíveis em downloads.dumpcat.cc/<version>/.
Novidades
An API & MCP page to connect AI assistants and scripts, the API reference in Markdown, single sign-on with OpenID Connect, an instance name and logo, and installed instances kept out of search engines.
Ver todas as mudanças →Versões anteriores
As notas de versão estão em inglês.