有没有好的方法可以增量同步 truecrypt 容器?我目前有大型容器(200gb+),我想找到一种方法来备份它们而不必挂载它们。Rsync 似乎无法增量同步,而是每次都尝试重新传输整个容器,即使容器内只有一个文件发生了更改。
是否有一些 rsync 补丁或某些特定选项可以让 rsync 更难查找差异而不是传输整个文件?或者,是否有更好的工具可以做到这一点?
答案1
似乎这已经解决了。
来自 rsync 网站:
我们很高兴地报告,truecrypt 磁盘映像的内部结构使其能够有效地将其 rsync 到远程位置。这意味着在首次(完整)上传 TrueCrypt 磁盘映像后,后续上传将有效地仅传输自上次上传以来对加密文件系统所做的更改。
答案2
我刚刚测试了将 TrueCrypt 容器 rsyncing 到远程主机。
增量备份确实有效。初始传输 128 MB 容器:
bash$ rsync -v --progress --checksum --inplace test.tc $REMOTE_HOST:
test.tc
134217728 100% 339.51kB/s 0:06:25 (xfer#1, to-check=0/1)
sent 134234196 bytes received 31 bytes 338547.86 bytes/sec
total size is 134217728 speedup is 1.00
然后我将文件复制到 TrueCrypt 卷并再次 rsynced:
bash$ rsync -v --progress --checksum --inplace test.tc $REMOTE_HOST:
test.tc
134217728 100% 49.42MB/s 0:00:02 (xfer#1, to-check=0/1)
sent 162256 bytes received 81140 bytes 23180.57 bytes/sec
total size is 134217728 speedup is 551.44
可以看到,将文件添加到容器后,第二次传输只有 160 KB。
笔记:
- 该
--checksum
选项告诉rsync
使用校验和而不是仅查看修改时间和大小;如果不这样做,rsync
就不会知道音量是否发生了变化。 - 该
--inplace
选项告诉rsync
就地更新目标文件。
答案3
不幸的是,由于流加密的性质,无法增量备份加密卷。这是因为整个卷在加密上依赖于每个单独的部分。这是出于安全原因。您每次都需要解密容器或完全复制容器。
答案4
RSync 是一个很好的工具,因为它的“增量传输”功能(默认启用)只传输文件的更改部分。
事实上,您的文件至少有 200 GB,这意味着当 RSync 读取整个文件来检测更改时,您可能会觉得整个文件可能被传输,而不仅仅是其更改部分。