是否有足够“智能”的备份工具来注意到在两个备份之间可能重命名了一个文件夹或大型文件?也许即使他们的位置改变了(不太复杂)?
清楚我想要什么吗?
现在,我的备份方法都将新的dir添加到现有的备份中。如何“复制差异”而不触及未修改的部分?
发布于 2018-11-18 20:17:30
是的,脱模备份工具(如restic和borgbackup )就是这样做的。
这些将检测到给定的数据块(不一定是整个文件)已经存在于旧的备份中,并且不会再次存储它。它还将检测到其他文件中的相同块,因此同一MP3文件的15个副本只能存储一次。
我在一台机器上使用它,其中我有两组JPEG文件,一组在macOS的" photos“相册存档中,然后在基于日期的结构化目录层次结构中与原件相同。这是2* 60 Gb的数据,但是restic只存储60 Gb,因为它是去重复的。
另一个例子是另一台机器(这次是OpenBSD),在这里,我对同一个Git存储库进行了两三次不同的检查(不要问原因)。这些文件也会在可能的程度上被重复,并且只会使用不同文件所取的大小( 270 Mb .git目录大部分相同,只会在备份中存储一次)。
同样地,移动目录只会导致几千字节左右的数据被写入备份(取决于目录结构的大小)。我将这270 Mb存储库中的一个重命名为测试,并运行备份。它为备份写了500 Kb (这些数据是关于文件的位置及其元数据(如所有权和时间戳等)的信息)。
重复备份工具还允许您将数据从多台计算机备份到同一位置,并在计算机上对数据进行去重复,以便例如,三台机器上的Dropbox文件夹不会被存储三次(至少在restic中是可能的)。
使用重复备份工具的缺点是无法将备份作为文件浏览(borgbackup可能允许以某种方式将快照挂载到目录中,但我没有对其进行研究,因为它使用了Fuse,而Fuse是OpenBSD不支持的)。您必须使用备份工具从快照中还原快照或所需文件。
我使用restic,因为这允许我通过SFTP备份到没有安装restic的服务器上。另一种方法是使用备份服务器上的restic REST服务器( rclone (rclone server restic ...) )运行restic REST服务器,并让D12客户端与之交谈。
borgbackup允许对数据块进行压缩,但我认为它需要在备份所在的机器上安装borgbackup。borgbackup (IMHO)也稍难配置。
restic的最新版本也支持压缩(使用zstd)。
https://unix.stackexchange.com/questions/482588
复制相似问题