CLI备份工具

CLI备份工具

是否有一个备份工具足够“智能”,可以注意到文件夹或大文件可能在两次备份之间被重命名?也许即使他们的位置改变了(不是太复杂)?

我想问的清楚吗?

我现在的备份方法都将新目录添加到现有备份中。如何在不触及不变部分的情况下“复制差异”?

答案1

是的,去重备份工具,例如resticborgbackup会这样做。

这些将检测到给定的数据块(不一定是整个文件)已经存在于旧备份中,并且不会再次存储它。它还会检测其他文件中的相同块,因此同一 MP3 文件的 15 个副本只会存储一次。

我在一台有两组 JPEG 文件的机器上使用它,一组位于 macOS 的“照片”相册存档中,另一组与原始照片相同,位于基于日期的结构化目录层次结构中。这是 2 * 60 Gb 的数据,但restic由于要对其进行重复数据删除,因此仅存储 60 Gb。

另一个例子是另一台机器(这次是 OpenBSD),我对同一个 Git 存储库进行了两到三个不同的签出(不要问为什么)。这些也已尽可能地进行重复数据删除,并且仅使用大约不同文件所占用的大小(270 Mb.git目录大部分相同,并且仅在备份中存储一次)。

移动目录同样只会导致几千字节左右的数据写入备份(取决于目录结构的大小)。我将其中一个 270 Mb Git 存储库重命名为测试并运行备份。这会向备份写入超过 500 Kb(此数据将是有关文件位置及其元数据的信息,例如所有权和时间戳等)

重复数据删除备份工具还允许您将多台计算机上的数据备份到同一位置,并在各计算机之间对这些数据进行重复数据删除,这样,例如,三台计算机上的 Dropbox 文件夹就不会被存储三次(这至少是可能与restic)。

缺点使用重复数据删除备份工具的一个缺点是你不能将备份作为文件浏览(borgbackup可能允许以某种方式将快照安装为目录,但我没有调查它,因为它使用 Fuse,而 OpenBSD 不支持 Fuse)。人们必须使用备份工具来恢复快照或从快照中恢复所需的文件。

我之所以使用它,restic是因为它允许我通过 SFTP 备份到restic未安装该服务器的服务器。另一种方法是在备份服务器上使用( ) 运行resticREST 服务器并让客户端与之通信。rclonerclone server restic ...restic

borgbackup允许压缩数据块,但我认为它需要borgbackup安装在备份所在的计算机上。 borgbackup(恕我直言)配置起来也稍微困难一些。

最新版本restic还支持压缩(使用zstd)。

相关内容