我们有许多服务器,其中几台运行着一些较旧的发行版(一台 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
运行我的包装器
看起来效果很好。