.sql ファイルのローリング バックアップ

.sql ファイルのローリング バックアップ

さまざまなデータベースを含む docker コンテナが多数あります。各コンテナには、データベースのバックアップを .sql ファイルとして毎日実行し、このファイルを zip 圧縮する Jenkins ジョブがあります。ご想像のとおり、時間の経過とともに冗長なデータが大量に発生します。

-rw-r--r--. 1 admin admin 103475967 30. Aug 02:15 20210830021501_all-databases.sql.gz
-rw-r--r--. 1 admin admin 103475967 31. Aug 02:15 20210831021501_all-databases.sql.gz
-rw-r--r--. 1 admin admin 103475967  1. Sep 02:15 20210901021501_all-databases.sql.gz

通常は、データベース固有のローリング バックアップ ツールを使用します。ただし、.sql ファイルのみをエクスポートすることで、シンプルかつ汎用的な状態を維持したいと考えています。

今、.sqlファイルの差分を保存する方法を探しています。いくつか質問があります(ここそしてここたとえば、rdiff-backup は、このための優れたツールです。しかし、rdiff-backup は、SQL ファイル自体ではなく、データベースがデータを保存するフォルダーなど、フォルダー全体を扱うように設計されているように思えます。

データベースから独立した init .sql ファイルを保存し、そこから差分のみを保存するツールはありますか。

答え1

zpaq を使った別のアプローチも使えます。FreeBSD (非常に古いバージョン)、Debian (更新済み)、または作者のウェブサイトから直接入手できます。 http://mattmahoney.net/dc/zpaq.html

必要なSQLがすべて含まれた単一のファイルを取得し、その中に保存し、オプションで暗号化します。

関連情報