オープンソース · MySQL、MariaDB、PostgreSQL のバックアップとリストア

データベースをロックしないバックアップ。秒単位でピンポイントにリカバリ。

DumpCat は Web 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 テーブルを誤って DROP しました。マーカーをドラッグしてリカバリポイントを選ぶと、DumpCat が最新のベースバックアップと、再生すべき binlog ファイルを選び出します。PostgreSQL でも、アーカイブ済みの WAL を使って同じように動作します。

full · 02:00
DROP TABLE orders · 14:37:12
現在
  • フルバックアップ(mysqldump)
  • アーカイブ済みの binlog(1 ファイルあたり最大 15 分)
  • リストア時に再生される範囲
  • 障害
復旧する時点
18/10/2026 14:37:11
ベースバックアップ
20261018-020000-fullmysqldump · 整合性のある時刻 02:00:03
再生する binlog
mysql-bin.000123 → mysql-bin.00017351 ファイル、データに触れる前にすべて検証
障害の前:orders テーブルは無事です

インストール

1 分で動き出す

Linux ならコマンド 1 つ、Windows ならダウンロードしてダブルクリックするだけ。インストーラーが、マシンの起動時に開始するサービスと、データベースのバージョンに合ったバックアップツールをセットアップします。Web UI は 1 つのファイルに組み込まれています。

Linux サーバーで次のコマンドを貼り付け、Enter キーを押します:

bash
curl -fsSL https://dumpcat.cc/install.sh | sudo sh

最新リリースをダウンロードしてチェックサムを検証し、systemd サービスとして /opt/dumpcat にインストールします。rclone、MySQL/MariaDB クライアント、対応する mariabackup または XtraBackup に加え、リポジトリにあれば mydumper も導入されます。--postgres 16 を付けると PostgreSQL 16 のクライアントツールが追加されます。オプションは sh -s -- の後ろに指定します:--port 9090、--listen 127.0.0.1、--tls-auto。

インストール後の手順

  1. http://<server-ip>:6369 を開くインストーラーが表示する 1 回限りのセットアップトークンで admin アカウントを作成します(再表示:dumpcat setup-token)。
  2. データベースサーバーを追加Test connection で、不足している権限と使える方式が一覧表示されます。
  3. ストレージを追加Test を押すと、ファイルの書き込み・読み込み・削除を試します。
  4. バックアップジョブを作成スケジュール、暗号化、ストレージ、保持ルールを選んで、Save & run now をクリックします。

ポート 6369 は MEOW

電話のキーパッドの英字で 6-3-6-9 と打つと MEOW(英語で猫の「ニャー」)。これが Web UI のデフォルトポートです。

バックアップ方式

データベースと規模に合わせて、最適なツールを

MySQL と MariaDB では、DumpCat が mysqldump、mydumper、XtraBackup / MariaBackup を使い分けます。サーバーを追加するときに Test connection を押すと、バージョン、datadir、各データベースのサイズ、そのマシンで使える方式が表示されます。

mysqldump論理mydumper論理・並列XtraBackup / MariaBackup物理・ホット
データベースのロック--single-transaction により InnoDB ではロックなしスレッド同期のため数ミリ秒だけグローバルロック、その後はなしInnoDB はロックなし。最後にごく短いバックアップロックのみ
バックアップ速度データベースごとに 1 スレッド、複数のデータベースを並列処理マルチスレッド、テーブルを行単位で分割最速:マルチスレッドでファイルをコピー
リストア速度最も遅い速い:並列処理、インデックスはロード後に構築非常に速い:ファイルコピー + prepare
増分バックアップ非対応非対応対応
単一データベースのリストア(別名も可)可能可能不可(インスタンス全体のみ)
最適な用途20〜50 GB 未満のデータベース1 つずつリストアする大規模データベース100 GB〜数 TB、短い RTO

PostgreSQL 10 以降:データベースごとの pg_dump(テーブルを並列でダンプ・リストアでき、別名や別サーバーへのリストアも可能)と、レプリケーション接続でクラスタ全体を取得する pg_basebackup。継続的な WAL アーカイブにより、指定した時刻、リストアポイント、WAL 位置までリカバリできます。

ストレージ

1 つのジョブで、コピーを複数の場所に

ローカルディスクに書き出してからアップロードすることも、一時ディスクを使わずクラウドへ直接ストリーミングすることもできます。保持する世代数はストレージごとに設定でき、たとえばローカルに 3 世代、S3 に 30 日分を残せます。

  • ローカル / NFSリストアが最速。datadir とは別のディスクに
  • S3AWS、Cloudflare R2、MinIO、Wasabi、DigitalOcean
  • Google DriveOAuth またはサービスアカウント
  • OneDriveSharePoint にも対応
  • FTP / FTPS明示的 TLS・暗黙的 TLS
  • SFTPパスワードまたは秘密鍵
  • WebDAVNextcloud など
  • Backblaze B2Azure Blob と Dropbox にも対応
  • rcloneさらに 70 以上のバックエンド

標準フォーマットだから、ロックインなし

<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 へ接続させます。方法は 2 つあり、どちらもデータベースホストのポートを開ける必要はありません。バックアップ、リストア、ポイントインタイムリカバリは直接接続のときと同じように動作します。

エージェント HTTPS

DumpCatバックアップサーバーバックアップ/リストアmysqldump · mydumper127.0.0.1:portエージェント接続口HTTPS · Web UI ポートHTTPS でアクセス可能データベースホスト受信ポートなしMySQL / MariaDB変更なし · 127.0.0.1 のみ127.0.0.1:3306dumpcat agent許可リスト 127.0.0.1:3306このホストでは何も開けないファイアウォール / NAT← HTTPS · データベースホストから接続3306 受信遮断・開放不要DumpCatバックアップサーバーバックアップ/リストアmysqldump · mydumper127.0.0.1:portエージェント接続口HTTPS · Web UI ポートHTTPS でアクセス可能ファイアウォール / NAT↑ HTTPSデータベースホストから接続3306 受信遮断・開放不要データベースホスト受信ポートなしdumpcat agent許可リスト 127.0.0.1:3306127.0.0.1:3306MySQL / MariaDB変更なし · 127.0.0.1 のみこのホストでは何も開けない
データベースホストがトンネルを開くDumpCat のデータベース通信はその中を逆向きに流れる
データベースホストに必要なもの
DumpCat へのアウトバウンド HTTPS
データベース
変更不要。127.0.0.1 だけで待ち受けていても大丈夫
インストール
sudo ./install.sh --agent --server … --key …
向いているケース
ネットワークや MySQL の設定に手を加えたくない場合

内蔵 WireGuard UDP · デフォルトで無効

DumpCatバックアップサーバーバックアップ/リストアmysqldump · mydumper127.0.0.1:port内蔵 WireGuard10.66.0.1 · UDP 51820UDP 51820 を開放データベースホスト受信ポートなしMySQL / MariaDB10.66.0.2 で待ち受け10.66.0.2:3306wg-quick@dumpcat10.66.0.2 · keepalive 25 秒このホストでは何も開けないファイアウォール / NAT← WireGuard UDP · データベースホストから接続3306 受信遮断・開放不要DumpCatバックアップサーバーバックアップ/リストアmysqldump · mydumper127.0.0.1:port内蔵 WireGuard10.66.0.1 · UDP 51820UDP 51820 を開放ファイアウォール / NAT↑ WireGuard UDPデータベースホストから接続3306 受信遮断・開放不要データベースホスト受信ポートなしwg-quick@dumpcat10.66.0.2 · keepalive 25 秒10.66.0.2:3306MySQL / MariaDB10.66.0.2 で待ち受けこのホストでは何も開けない
データベースホストがトンネルを開くDumpCat のデータベース通信はその中を逆向きに流れる
データベースホストに必要なもの
標準の WireGuard と、DumpCat へのアウトバウンド UDP 51820
データベース
VPN アドレスで待ち受け、データベースユーザーに 10.66.0.1 からの接続を許可
インストール
WireGuard ページで有効にし、dumpcat.conf をコピーして systemctl enable --now wg-quick@dumpcat
向いているケース
すでに WireGuard を使っているチーム、またはデータベースネットワーク全体へのゲートウェイとして

接続を開くのはデータベースホスト側で、データはその中を双方向に流れます。物理バックアップ(XtraBackup / MariaBackup)は、--allow-physical を付けて起動したエージェント経由で動作します。WireGuard 経由の場合は、従来どおりデータベースホストに DumpCat をインストールする必要があります。

運用

自前のスクリプトに頼っていた部分も、すべて標準装備

どれも DumpCat に標準で含まれ、Web UI からオン・オフや調整ができます。

アップロード前に暗号化
age(ChaCha20-Poly1305 + scrypt)があなたのサーバー上で動くので、クラウド事業者はデータを読めません。
整合性チェック
すべてのファイルに SHA-256。検証では再読み込み、復号、展開を行い、Dump completed 行があるかを確認します。
GFS 世代管理
N 個のバックアップ、N 日分、各日・各週・各月の最後の 1 つを保持。増分チェーンは、元のフルバックアップと一緒にしか削除されません。
慎重なリストア
データベースを DROP する前に、すべてのファイルを試験的に復号します。別名でのリストアや、別のサーバー・バージョンへのリストアも可能です(MySQL 8 ↔ MariaDB、PostgreSQL 15 → 16)。
アカウントとロール
admin、operator、viewer。TOTP による二要素認証、API トークン、監査ログ、ログイン失敗が続いたときのロックアウト。
通知
メール、Telegram、Slack、Discord、HMAC 署名付き Webhook で、失敗時または成功時に通知します。
ファイアウォール内のデータベース
データベースホスト上のエージェントが HTTPS で DumpCat に接続するか、ホストが内蔵 WireGuard に参加します。データベース側でポートを開ける必要はありません。
セルフアップデート
dumpcat update は SHA-256 を検証し、設定をバックアップし、実行中のバックアップの完了を待ち、失敗したらロールバックします。

AI フレンドリー

AI フレンドリー:バックアップの見守りは AI アシスタントに

DumpCat には MCP サーバーと、Markdown で書かれた API リファレンスが付属しています。Claude Code、Claude Desktop などの AI エージェントは API トークンで接続し、どのバックアップが失敗したかを調べ、ログを読んで原因を説明できます。フルアクセスのトークンなら、バックアップ、検証、リストア訓練の実行も可能です。

MCP サーバーを内蔵
エンドポイント /api/mcp は DumpCat の一部なので、追加のインストールは不要です。概要、アラート、ジョブ、バックアップ、ログ、リストア、リストア訓練、ポイントインタイムリカバリのプレビューのためのツールを備えています。stdio でローカルサーバーを起動するクライアントは dumpcat mcp を使います。
デフォルトで安全
新しいトークンは閲覧のみ。リストア、削除、認証情報、設定が MCP 経由で操作されることはありません。応答にパスワード、鍵、トークンは含まれず、アシスタントが開始した操作はすべて監査ログに記録されます。
Markdown の API リファレンス
/api/docs.md はサーバー自身が生成します。認証、規約、curl の例、そして各ルートに必要なロールとトークンまで網羅。AI チャットに貼り付けるか、エージェントに読ませて REST API を呼び出させましょう。
1 分でセットアップ
DumpCat の API & MCP ページでトークンを作成すると、Claude Code 用のコマンドと、Claude Desktop などのクライアント用の設定が表示されます。接続を確かめる Test ボタンもあります。

Claude Code を接続

bash
claude mcp add --transport http dumpcat \
  https://backup.example.com/api/mcp \
  --header "Authorization: Bearer mv_…"

あとは普段の言葉で聞くだけ:「昨夜失敗したバックアップはどれ?原因は?」、「shop-nightly に 24 時間以内のバックアップはある?」、「orders を昨日の 14:37 の状態に戻せる?」

比較

DumpCat と他のツールを比較

ツールを選ぶと、すべての機能を並べて比較できます。他製品に関する情報は、詳細な比較ページに出典と日付付きで掲載しています。

DumpCatSQLBackupAndFTP
Every feature freeYesNo paid tierPartlyFree: 2 DBs, basic features
Runs on your own serversYesOne binaryYesWindows only
LinuxYesamd64, arm64PartlyRemote full backups only
Hot physical backupsYesXtraBackup, MariaBackupNoNo physical backups
Point-in-time recoveryYesTo the second or a GTIDPartlyChosen-time restore undocumented
EncryptionYesage, before uploadPaid planProfessional edition
Data skips the vendorYesServer to your storageYes
Automatic backup checkYesEvery run, plus drillsPartlyVia scheduled restore jobs

オープンソース

無料でオープンソース、データはあなたのもの

DumpCat は Apache-2.0 ライセンスで公開されています。アカウント登録もライセンスキーも不要で、機能を出し惜しみする有料版もありません。このページに載っている機能はすべて、ダウンロードしたビルドに入っています。

Apache-2.0 ライセンス
個人でも業務でも利用でき、改変も再配布も自由です。全文は LICENSE にあります。
テレメトリなし
DumpCat は利用データをどこにも送信しません。自分から行う通信は、新バージョンを知らせるために 1 日 1 回 latest.json を読みに行くことだけで、これも Settings 画面でオフにできます。
仲介者なし
バックアップ、データベースのパスワード、暗号鍵は、あなたのサーバーからあなたが選んだストレージへ直接届くだけです。
署名付きリリース
すべてのアップデートは ed25519 で署名され、インストール前に SHA-256 で検証されます。自分でビルドするのに必要なのは Go だけです。

ソースからビルド

bash
git clone https://github.com/theweakestharrison/DumpCat.git
cd DumpCat
go build -o dumpcat ./cmd/dumpcat

バグ報告、プルリクエスト、翻訳を歓迎します。詳しくは CONTRIBUTING.md をご覧ください。セキュリティ上の問題は、SECURITY.md の手順に従って非公開でご報告ください。

ダウンロード

最新リリース