不同版本的服务器之间的 rdiff-backup

不同版本的服务器之间的 rdiff-backup

我们有许多服务器,其中几台运行着一些较旧的发行版(一台 Debian 6,一台 Debian 7)。幸运的是,rdiff-backup 1.2.8 相当普遍,甚至我们的新存储服务器(托管备份)也运行着 Ubuntu 18.04,直到我上周将其更新到 20.04。更新之前我没有足够注意差异,现在我意识到服务器已更新为 rdiff-backup 2.0,它不再兼容。

我看到的两个主要选项是尝试在旧服务器上获取 rdiff-backup 2.0 或在备份/存储服务器上安装 1.2.8 的并行副本。

前者会出现问题,因为旧服务器甚至没有 python3。

后者也被证明很困难,因为最新版本的 librsync 似乎与 1.2.8 不兼容。

是否有适用于较新发行版的 1.2.8 版本?或者是否有人完成过此操作并知道重现此操作的要求和步骤?

或者有没有人有可以在旧的 Debian 6 系统上运行的 2.0 版本?

或者还有其他选择吗?Ubuntu 系统确实有 lxd/snaps,所以也许有一个容器可以在新发行版上运行并托管旧版本?

(更新我们的旧系统并不是一个立即的解决方案,尽管这也在我的最终要做的事情清单上。)

答案1

在尝试在我的 Ubuntu 20.04 系统上构建 1.2.8 失败后,我探索了容器解决方案。我之前没有亲自设置过 lxd 和创建过容器(所以这方面有点难),但在同事的帮助下,我能够:

  • 设置 lxd
  • 创建一个 18.04 容器
  • 安装 rdiff-backup 1.2.8
  • 使其具有特权(以匹配现有的备份模型)
  • 现有备份卷中的映射
  • 写一个包装器lxc exec container -- rdiff-backup $*
  • 更改我的备份脚本以用于--remote-schema运行我的包装器

看起来效果很好。

相关内容