将今天的 Borg 备份转移到不同的 repo

将今天的 Borg 备份转移到不同的 repo

这是我当前的备份策略。我有一堆(假设 200 台)服务器,它们运行定期的 borg 备份脚本(通过此 ansible 角色部署:https://github.com/mad-ady/ansible-role-borgbackup) 通过 ssh 连接到中央备份服务器。

每台服务器都有自己的 ssh 用户、自己的主目录和远程备份服务器上的存储库。备份工作正常(就压缩/重复数据删除而言)!:)

现在,我希望能够定期拍摄“今天的备份”的快照,并将它们放在不同的存储中以实现冗余。我想避免拍摄整个存储库(例如运行 rsync),因为本地备份服务器的保留策略非常严格(例如保留最近 6 个月的每日备份),而异地服务器的存储/带宽有限。一些备份数据的重复数据删除效果很好,而其他数据非常动态,重复数据删除效果很差。

所以,我的问题是 - 有没有办法将特定的备份快照从 borg repo 传输到另一个 borg repo?我可以遍历每个 repo 并提取今天的备份(这里有一个例子):

_etc-20210615-0105                   Tue, 2021-06-15 01:05:04 [d382788354e3e5a535fd570cea2fe741e1c69734c14d43ec6e59f856dadab83c]
_var_www_html-20210615-0105          Tue, 2021-06-15 01:05:24 [e46d6ad7313e158172a46f0908bf3b16f450d06d2c410a0c612fe0453f18871e]
_var_spool_cron-20210615-0105        Tue, 2021-06-15 01:05:48 [0f50160706d97754a3a6620456f350d477aa8797d9a43a1de0f8bfcb06531f79]
mysqldump-20210615-0105              Tue, 2021-06-15 01:05:53 [258f604bf4d1c2196c3e1df14878c78e56560b2c9c839a2e666efa27ddd6ac8d]

...但我该如何将它们转移到不同的存储库(最好不要将它们还原到临时文件夹并重新存档)?我能想到的一种方法是挂载每个存档,然后在其上运行 borg。这样可以防止额外的磁盘使用,但意味着要解压缩并重新压缩数据...

谢谢!

相关内容