Последовательное резервное копирование файлов .sql

Последовательное резервное копирование файлов .sql

У меня есть куча docker-контейнеров, содержащих разные базы данных. Для каждого контейнера есть Jenkins-Job, который ежедневно делает резервную копию базы данных в виде .sql-файла, а затем архивирует этот файл. Как вы можете себе представить, со временем это приводит к большому количеству избыточных данных:

-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-файл.

Теперь я ищу способ просто хранить diffs .sql-файлов. Есть несколько вопросов (здесьиздесьfor example) приводит к rdiff-backup как хорошему инструменту для этого. Но мне кажется, что rdiff-backup предназначен для работы с целыми папками, например, папкой, где база данных хранит свои данные, а не с самими файлами sql.

Есть ли инструмент для хранения независимого от базы данных init .sql-файла и оттуда только различий?

решение1

Вы можете использовать другой подход, используя zpaq. Вы можете найти на FreeBSD (очень старая версия), Debian (обновленная) или непосредственно на сайте автора http://mattmahoney.net/dc/zpaq.html

Вы получите один файл со всеми необходимыми вам SQL-кодами, сохраненными внутри, опционально зашифрованными.

Связанный контент