rsync 是否会节省大量数据传输以进行同步
1)zip文件,
2)ASCII 装甲 GPG 加密文件,以及
3) Mathematica .mx 文件,
分别 ?
典型的情况是我已经有一个旧副本,并且压缩和/或加密文件不是唯一要同步的文件,即未压缩和未加密的文件可以存在。
答案1
加密或压缩文件的问题在于,即使数据中只修改了一个字节,所有剩余的文件内容都会不同,而不仅仅是改变的数据字节。
这破坏了 rsync 用于减少数据传输的一种策略 - 即只传输文件的更改部分而不是整个文件。
因此,除非您需要磁盘空间,否则不要压缩数据(在这种情况下使用基于磁盘的压缩,因为这对 rsync 等应用程序来说是透明的)。
不要加密数据,除非您需要在计算机(或磁盘)被盗或丢失时保护数据的隐私。(请备份您的数据,尤其是加密密钥或恢复密钥)。同样,全盘加密对 rsync 性能的影响可能最小(但最有可能导致灾难性的数据丢失,当硬盘发生故障且数据备份不可用时,或者当您重新安装操作系统而没有备份其他数据磁盘/分区的恢复密钥时)
以上假设相关的未压缩/未加密的文件中(大量)可能不时发生部分更改 - 通过某种编辑或附加 - 而文件中的大部分数据保持不变。
答案2
如果您仅 rsync 一个文件且该文件已加密或压缩,则您可能节省的唯一带宽是如果该文件保持不变则根本不需要传输它。
但是,如果您的目录中充满了 ZIP 或 JPEG 或 GPG 文件,rsync 仍然只会传输那些已更改的文件,这是一种轻松传输新文件的绝佳方法。
注意:我发现尽可能使用 rsync 来同步未压缩的数据,然后在必要时将其压缩以存储在链接的两侧很有用。通过这种方式,您可以节省传输带宽。即:
mkdir /tmp/torsync
cd /tmp/torsync
unzip /home/me/somefile.zip
rsync -avz . remote:/tmp/somefile
ssh remote 'zip -r somefile.zip /tmp/somefile'
当然,YMMV。
OT:有了它的备份选项,我发现 rsync 很有用,即使它不能节省带宽,因为它会创建替换文件的备份副本,让我能够轻松检索历史副本。
后续:这适用于涉及压缩或加密的所有格式,但我不熟悉 Mathematica 用户。