Backup

.sql 文件的滾動備份

  • September 27, 2021

我有一堆包含不同數據庫的 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 文件來保持簡單和通用。

現在我正在尋找一種方法來儲存 .sql 文件的差異。有幾個問題(這里這裡的例子)導致 rdiff-backup 作為一個很好的工具。但對我來說,似乎 rdiff-backup 旨在處理整個文件夾,例如數據庫儲存數據的文件夾,而不是 sql 文件本身。

是否有一種工具可以儲存數據庫獨立 init .sql 文件並從那裡僅儲存差異。

您可以使用不同的方法,使用 zpaq。您可以在 FreeBSD(非常舊的版本)、Debian(更新)或直接從作者的網站 http://mattmahoney.net/dc/zpaq.html上找到

您將獲得一個包含您想要的所有 SQL 的文件,儲存在其中,可選擇加密

引用自:https://serverfault.com/questions/1076282