有什么好方法可以通过 LAN 压缩和发送大文件夹吗?

有什么好方法可以通过 LAN 压缩和发送大文件夹吗?

我有一个相对较大(125GB)的文件夹,其中包含大量数据,我想压缩这些数据并将其发送到 LAN 上的备份服务器。理想情况下,我希望使用 7zip 之类的程序尽可能地压缩所有这些数据,因为我认为这可能会加快传输速度并减少服务器硬盘上的空间(尽管这不是完全必要的)。

这是个好主意吗?如果是,那么有什么好方法吗?只需告诉 7zip 使用我的服务器位置作为目标来创建存档就足够了吗?这样做有什么重大缺陷吗?还是最好正常复制文件夹并在服务器端压缩?

答案1

这个答案可能不完整,但我这样做是因为问题太多,仅解决其中一些问题就可能需要多条评论。

最好不要在通过网络复制之前创建一个 7-Zip 存档文件。一个坏位可能会导致不只是一个文件出现问题,而是整个存档出现问题,从而丢失所有数据。(因此,您的数据存储不会非常有弹性。)它还会花费很长时间,并且可能会超出存档格式文件大小限制(可能取决于您使用的软件版本)。

不要只使用 7-Zip 远程创建存档。7-Zip 可能会多次考虑数据,可能是作为压缩过程的一部分,也可能只是为了验证数据。为了避免不必要的减速,您不希望通过网络传输数据一次,而不是通过网络重新读取数据。(实际上,在创建小型数据文件时不一定是问题。)

“正常复制文件夹并在服务器端压缩会更好吗?”

这取决于各种因素。从历史上看,您肯定会希望在发送文件之前进行压缩,以尽量缩短传输时间。但是,如今网络设备的速度甚至比磁盘存储设备还要快。因此,最快的速度取决于各种技术的状态,这些细节可能会随着时间的推移而发生变化。

通常,最好让工作站做工作站能做的事情,这样集中式服务器就不会因为工作量太大而负担过重。但是,如果服务器功能更强大,它可能能够相当快速地完成一项工作,而这项工作在工作站上可能需要更长时间,并且可能会产生更明显的影响,从而令人讨厌地减慢某人实际使用的计算机的速度。所以,答案再次各不相同。

有什么好方法可以通过 LAN 压缩和发送大文件夹吗?

这是一种备份方法。有多种解决方案。有些人确实喜欢做非常简单的事情。特别是在 Unix 中,他们可能经常只使用“tar”来创建数据流,而不是将该数据流存储到文件中,而是通过管道发送数据流。该管道可能会压缩数据并创建新管道。管道可以使用 netcat 通过网络发送数据。人们可以做各种有创意的事情(例如通过“pv”发送管道来监控进度)。其他人更喜欢使用更高级的解决方案,例如 rsync。其他人可能更喜欢完整的商业套件,购买昂贵的备份程序。没有一种“正确”的方法,所以选择一种适合您的选项,并让它发挥作用。

不过请记住,您可能确实希望能够恢复单个文件,而不是复制包含大量文件的整个档案。

请注意,7-Zip 曾发布过一些版本,这些版本会写入无法提取的错误数据。我在创建 ZIP 文件(来自 7-Zip)时就遇到过这种情况。如果您真的关心数据,请不要信任压缩数据,除非您已经验证过。这可能一直是个好建议,但我认为这对 7-Zip 尤其重要。(我喜欢 7-Zip。免费、易于使用、支持各种压缩格式,并且创建的 ZIP 文件大小非常接近我使用各种专业软件时可以创建的最小文件大小。但是,粉饰现实并不好,因此最好意识到它的局限性。)

相关内容