에이전트 HTTPS
- 데이터베이스 호스트에 필요한 것
- DumpCat으로 나가는 HTTPS
- 데이터베이스
- 변경 없음, 127.0.0.1에서만 수신 대기해도 됨
- 설치
sudo ./install.sh --agent --server … --key …- 적합한 경우
- 네트워크와 MySQL 설정을 건드리고 싶지 않을 때
오픈 소스 · MySQL, MariaDB, PostgreSQL을 위한 백업 및 복원
DumpCat은 웹 UI를 갖춘 단일 바이너리입니다. 백업을 예약하고, 압축하고 암호화해 S3, Google Drive, OneDrive, SFTP로 사본을 보내고, 검증까지 마친 뒤, 필요할 때 데이터를 되살려 줍니다. Linux와 Windows에서 완전히 오프라인으로 동작합니다.
MySQL 5.7 · 8.0 · 8.4 / Percona Server / MariaDB 10.x · 11.x / PostgreSQL 10+
누군가 14:37:12에 orders 테이블을 삭제했습니다. 마커를 끌어 복구 시점을 고르면, DumpCat이 가장 최근의 베이스 백업과 재생할 binlog 파일을 골라 줍니다. PostgreSQL도 아카이브된 WAL로 똑같이 동작합니다.
설치
Linux에서는 명령어 한 줄, Windows에서는 다운로드 후 더블클릭이면 됩니다. 설치 프로그램이 부팅과 함께 시작되는 서비스와, 데이터베이스 버전에 맞는 백업 도구를 설치합니다. 웹 UI는 파일 하나에 내장되어 있습니다.
Linux 서버에서 이 명령어를 붙여 넣고 Enter 키를 누르세요:
curl -fsSL https://dumpcat.cc/install.sh | sudo sh
최신 릴리스를 내려받아 체크섬을 확인한 뒤, /opt/dumpcat에 systemd 서비스로 설치합니다. rclone, MySQL/MariaDB 클라이언트, 버전에 맞는 mariabackup 또는 XtraBackup, 그리고 저장소에 있으면 mydumper도 함께 설치합니다. --postgres 16을 붙이면 PostgreSQL 16 클라이언트 도구가 추가됩니다. 옵션은 sh -s -- 뒤에 붙입니다: --port 9090, --listen 127.0.0.1, --tls-auto.
Windows 10 / 11 또는 Windows Server 2016+ 64비트에서 Windows 서비스로 실행됩니다. PowerShell이 편하신가요? PowerShell(관리자)에서 irm https://dumpcat.cc/install.ps1 | iex를 실행하세요. MySQL용 mydumper와 XtraBackup은 제공되지 않으므로, 수백 GB 규모의 데이터베이스라면 Linux에서 DumpCat을 실행하세요.
명령줄이 처음이신가요? 단계별 가이드(영문)를 따라 해 보세요. 자주 겪는 문제의 해결 방법도 담겨 있습니다.
http://<server-ip>:6369 열기설치 프로그램이 출력한 일회용 설정 토큰으로 관리자 계정을 만듭니다(다시 보려면: dumpcat setup-token).포트 6369는 곧 MEOW
전화 키패드의 영문자로 6-3-6-9를 누르면 고양이 울음소리 MEOW(야옹)가 됩니다. 웹 UI의 기본 포트입니다.
백업 방식
MySQL과 MariaDB에서는 DumpCat이 mysqldump, mydumper, XtraBackup / MariaBackup을 구동합니다. 서버를 추가할 때 Test connection을 누르면 버전, datadir, 데이터베이스별 크기, 그리고 그 서버에서 쓸 수 있는 방식이 표시됩니다.
| mysqldump논리 | mydumper논리, 병렬 | XtraBackup / MariaBackup물리, 핫 백업 | |
|---|---|---|---|
| 데이터베이스를 잠그나요? | --single-transaction 덕분에 InnoDB는 잠그지 않음 | 스레드 동기화를 위해 몇 밀리초 동안 전역 잠금, 이후에는 없음 | InnoDB 잠금 없음, 마지막에 아주 짧은 백업 잠금 |
| 백업 속도 | 데이터베이스당 스레드 1개, 여러 데이터베이스를 병렬로 | 멀티스레드, 테이블을 행 단위로 분할 | 가장 빠름: 멀티스레드 파일 복사 |
| 복원 속도 | 가장 느림 | 빠름: 병렬, 적재 후 인덱스 생성 | 매우 빠름: 파일 복사 + prepare |
| 증분 백업 | 미지원 | 미지원 | 지원 |
| 데이터베이스 하나만 복원, 이름 변경 | 가능 | 가능 | 불가, 인스턴스 전체만 |
| 적합한 용도 | 20–50 GB 미만의 데이터베이스 | 하나씩 복원하는 대용량 데이터베이스 | 100 GB에서 수 TB까지, 짧은 RTO |
PostgreSQL 10 이상: 데이터베이스별 pg_dump로 테이블을 병렬로 덤프하고 복원하며, 새 이름으로 또는 다른 서버에 복원할 수 있습니다. 클러스터 전체는 복제 연결을 통한 pg_basebackup으로 백업하고, 연속 WAL 아카이빙으로 특정 시각, 복원 지점(restore point), WAL 위치까지 복구합니다.
스토리지
로컬 디스크에 쓴 뒤 업로드하거나, 임시 디스크 없이 클라우드로 바로 스트리밍합니다. 스토리지마다 보관할 사본 수를 따로 정할 수 있습니다. 예를 들어 로컬에는 백업 3개, S3에는 30일 치를 둘 수 있습니다.
<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
DumpCat을 실행하던 머신을 잃었나요? 새로 설치하고 스토리지를 다시 추가한 뒤 Import backup catalog를 누르면 모든 백업이 다시 목록에 나타납니다. DumpCat 없이도 age, zstd와 mysql 또는 pg_restore로 복원할 수 있습니다.
연결
방화벽이나 NAT 때문에, 또는 데이터베이스가 127.0.0.1에서만 수신 대기해서 백업 서버가 데이터베이스에 직접 연결할 수 없다면, 반대로 데이터베이스 호스트가 DumpCat으로 연결하게 하세요. 방법은 두 가지이며, 어느 쪽도 데이터베이스 호스트에 포트를 열지 않습니다. 백업, 복원, 특정 시점 복구는 직접 연결할 때와 똑같이 동작합니다.
sudo ./install.sh --agent --server … --key …dumpcat.conf를 복사한 뒤 systemctl enable --now wg-quick@dumpcat연결은 데이터베이스 호스트가 열고, 데이터는 그 연결 안에서 양방향으로 흐릅니다. 물리 백업(XtraBackup / MariaBackup)은 --allow-physical로 시작한 에이전트를 통해 동작하며, WireGuard를 통할 때는 여전히 데이터베이스 호스트에 DumpCat을 설치해야 합니다.
운영
모두 DumpCat에 기본으로 들어 있고, 웹 UI에서 켜고 조정합니다.
Dump completed 줄이 있는지 확인합니다.dumpcat update는 SHA-256을 확인하고, 설정을 백업하고, 실행 중인 백업이 끝나기를 기다렸다가, 실패하면 롤백합니다.AI 친화적
DumpCat에는 MCP 서버와 Markdown으로 작성된 API 레퍼런스가 들어 있습니다. Claude Code, Claude Desktop 등의 AI 에이전트가 API 토큰으로 연결해 어떤 백업이 실패했는지 묻고, 로그를 읽고, 원인을 설명할 수 있습니다. 전체 권한 토큰이 있으면 백업, 검증, 복원 훈련까지 실행할 수 있습니다.
/api/mcp는 DumpCat의 일부라 따로 설치할 것이 없습니다. 개요, 경고, 작업, 백업, 로그, 복원, 복원 훈련, 특정 시점 복구 미리 보기를 위한 도구를 제공합니다. stdio로 로컬 서버를 실행하는 클라이언트는 dumpcat mcp를 사용합니다./api/docs.md는 서버가 직접 작성합니다. 인증, 규칙, curl 예제, 그리고 모든 라우트와 각각에 필요한 역할 및 토큰이 담겨 있습니다. AI 채팅에 붙여 넣거나, 에이전트가 읽고 REST API를 호출하게 하세요.claude mcp add --transport http dumpcat \
https://backup.example.com/api/mcp \
--header "Authorization: Bearer mv_…"
그다음 평소 말투로 물어보세요: “어젯밤 실패한 백업은 무엇이고, 왜 실패했나요?”, “shop-nightly에 24시간 이내의 백업이 있나요?”, “orders 테이블을 어제 14:37로 복구할 수 있나요?”
비교
도구를 선택하면 모든 기능을 나란히 비교해 볼 수 있습니다. 다른 제품에 대한 내용은 전체 비교 페이지에 출처와 날짜를 밝혀 두었습니다.
| 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 |
오픈 소스
DumpCat은 Apache-2.0 라이선스로 배포됩니다. 계정도, 라이선스 키도, 기능을 묶어 둔 유료 에디션도 없습니다. 이 페이지에 나온 모든 기능이 내려받는 빌드에 들어 있습니다.
latest.json을 읽는 것이며, 설정(Settings)에서 끌 수 있습니다.git clone https://github.com/theweakestharrison/DumpCat.git
cd DumpCat
go build -o dumpcat ./cmd/dumpcat
버그 리포트, 풀 리퀘스트, 번역 모두 환영합니다. CONTRIBUTING.md를 참고하세요. 보안 문제는 SECURITY.md에 안내된 대로 비공개로 제보해 주세요.
다운로드
다운로드하셨나요? 패키지 안의 START-HERE.txt를 열거나, 단계별 설치 가이드(영문)를 따라 하세요.
단일 바이너리
이전 버전은 downloads.dumpcat.cc/<version>/에서 계속 받을 수 있습니다.
새 소식
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.
릴리스 노트는 영어로 작성됩니다.