通过 ssh 进行增量压缩备份

通过 ssh 进行增量压缩备份

到目前为止,我使用以下方法备份我的内容:

rsync -avz --delete /Local/Location/of/data/ -e ssh username@hostname:/Remote/Location/of/backup

本地端运行的是 Mac OS,服务器端运行的是 Linux。我无法更改此设置。

这种方法效果很好(据我所知),并且只传输自上次备份以来的差异,同时保留所有权限等。但是,这种方法有一个缺点,即服务器端的备份未压缩(因此我收到警告)。我如何才能对流程的最终结果进行一些压缩?

最简单的方法是(假设目的地被压缩):

  1. 解压目标
  2. rsync 本地与远程的区别
  3. 在服务器端压缩备份。

这里的最佳做法是什么?

编辑

我偶然发现了“增量转储”的概念。似乎tar在这里很有用。这是可行的方法吗?

答案1

一个简单的解决方案是在服务器端使用压缩文件系统。请参阅“分配和布局政策“在 Wikipedia 的“文件系统比较”中查看列表。

另一个选择是使用提供快照或写时复制的文件系统。btrfs是一个很好的选择,因为它提供了一切,除了一个小功能:它还不够安全,无法备份。别误会我的意思:btrfs 很棒;我已经用了大约一年了,从来没有遇到过问题。但备份需要可靠的首先。

此外,您通常无法简单地在服务器上创建一个具有您喜欢的文件系统的分区。有两种解决方法:

  1. 您可以在服务器上创建一个大文件,并在其中创建文件系统(只需提供mkfs文件路径,而不是设备名称)。之后,您可以使用以下方式挂载此文件系统mount -o loop 文件挂载点

  2. 如果这不是一个选择,但你有保险丝(用户空间中的文件系统)在服务器中启用(它是一个内核模块),然后您可以使用更少

最后,您可以使用专用的备份工具来完成此任务。有很多选择(例如達爾快照或谷歌搜索“Linux 备份“)。但请注意:我搜索了很多年,尝试了很多选择,但仍然没有找到任何像它一样简单rsync而强大的文件系统。

相关内容