![Backups contínuos de arquivos .sql](https://rvso.com/image/770095/Backups%20cont%C3%ADnuos%20de%20arquivos%20.sql.png)
Estou tendo vários contêineres docker contendo bancos de dados diferentes. Para cada contêiner existe um Jenkins-Job que realiza um backup diário do banco de dados como um arquivo .sql e depois compacta esse arquivo. Como você pode imaginar, isso leva a muitos dados redundantes ao longo do tempo:
-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
Normalmente você usaria a ferramenta de backup contínuo específica do banco de dados. Mas quero manter as coisas simples e genéricas, exportando apenas um arquivo .sql.
Agora estou procurando uma maneira de armazenar apenas as diferenças dos arquivos .sql. Existem várias perguntas (aquieaquipor exemplo) levando ao rdiff-backup como uma boa ferramenta para isso. Mas para mim parece que o rdiff-backup foi projetado para funcionar com pastas inteiras, por exemplo, a pasta onde o banco de dados armazena seus dados, e não os próprios arquivos SQL.
Existe uma ferramenta para armazenar um arquivo init .sql independente do banco de dados e a partir daí apenas as diferenças.
Responder1
Você pode usar uma abordagem diferente, usando zpaq. Você pode encontrar no FreeBSD (versão muito antiga), Debian (atualizado) ou diretamente no site do autor http://mattmahoney.net/dc/zpaq.html
Você obterá um único arquivo com todo o SQL desejado, armazenado dentro, opcionalmente criptografado