.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 檔案來使事情變得簡單和通用。

現在我正在尋找一種方法來儲存 .sql 檔案的差異。有幾個問題(這裡這裡例如)導致 rdiff-backup 作為一個很好的工具。但對我來說,rdiff-backup 似乎被設計為與整個資料夾一起使用,例如資料庫儲存資料的資料夾,而不是 sql 檔案本身。

是否有一個工具可以儲存獨立於資料庫的 init .sql 文件,並從那裡僅儲存差異。

答案1

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

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

相關內容