有没有办法使用 rsync 备份远程主机,而无需在两端开放 root 访问权限?

有没有办法使用 rsync 备份远程主机,而无需在两端开放 root 访问权限?

我正在设置一个可托管几个站点的 VPS,并且我想将所有内容备份到另一台具有大量 ZFS 的主机上,以便我能够频繁地进行快照。

凭借我所掌握的 ATM 知识,我只将 rsync 视为一种解决方案,因为它使用 -c 标志进行增量备份,这是非常必要的,因为此 VPS 的带宽有限且数据集可能非常大,因此每天传输所有内容一次或几次是不可行的。

另一方面,这意味着如果我需要正确保留权限并备份所有内容,包括只有 root 才能读取的内容(例如 SSL 证书),我需要在任一主机上启用 authkey SSH root 登录(并相应地推送或提取备份)。我真的想避免这种情况。

或者我需要这样做吗?您知道有什么技巧可以让我在 VPS 上运行一些 cronjob 并将差异备份数据推送到我的其他主机,而无需损害安全性,但仍然能够备份所有文件并保留其权限和所有权?

我猜最后的办法可能是在 ZFS 主机上设置一个虚拟机,专门用于此目的,在其中的非标准端口上启用无密码 ssh root 登录,确保其磁盘映像位于 ZFS 上(或为 ZVOL),然后将备份文件推送到它。但该死,这似乎很笨重,设置起来很麻烦,而且会消耗该主机上的资源。

有想法吗?

谢谢 :)

答案1

你有没有考虑过用于tar执行增量,并使用普通用户权限在sudo tar本地 rsync 生成的 tarball?将保留 tarball 内的所有权和权限,但任何一台机器都不需要为另一台机器授予提升的权限。

它会占用更多的磁盘空间,但在这种情况下这可能是您可以承受的成本。

相关内容