自动压缩文件服务器上的文件

Rev*_*ing 5 linux compression ftp

我故意让标题含糊其辞,因为我不关心具体使用 FTP 或 gz 是否有其他工具会工作得更好。

我有很多很少访问的数据(我观看的电影、备份等),我想将它们存储在家庭 FTP 服务器上。我想自动压缩我上传到服务器上的所有文件,并在下载文件时自动解压它们。我知道我可以在服务器上使用cronwith和我下载的所有内容,但我更希望服务器配置为无缝地自行执行此操作,这样我就可以使用它,就好像文件是解压缩存储的一样。gzip -rgzip -rd

FTPD 或其他文件服务器有这样的功能吗?如果服务器将解压缩的文件保留在临时存储中直到完全传输,那么像通过 FTP(使用 VLC)进行流式传输之类的事情就可以毫无问题地工作,这是一个奖励点。

Kel*_*ari 23

最简单的解决方案是在 BTRFS 或 ZFS 上创建压缩文件系统。我认为还有其他 Linux 文件系统支持压缩,但我不确定。然后将您的数据复制到其中。文件将在访问时由服务器自动压缩和解压缩。

您提到存储电影和备份。假设这些文件已经被压缩(按格式/编解码器的媒体),您将不会节省太多空间。这同样适用于许多其他格式,如图像、音频、电子书等。

顺便说一句,Windows NTFS 也有压缩选项。

  • @ReverentLapwing 你确定吗?我尝试使用 gzip 压缩此处的 3GB 视频文件。耗时 90 秒,节省 6MB 空间。大约是0.2%。我还尝试了 bzip2,这花了 8 分钟并使文件_更大_。 (5认同)
  • @ReverentLapwing _“据我所知,当你向他们提供更多数据时,他们会变得更有效率”_ - 但他们没有。压缩算法在压缩时考虑有限的数据量,否则它们的内存/CPU 使用将是无限的。对于许多算法来说,这只是“当前位置之前的最后 X 个字节”,称为_滑动窗口_。此窗口的大小范围从 KB 到 MB。例如,gzip 使用固定的 32KiB 窗口。我认为 2% 的视频文件压缩率不值得,特别是因为压缩会放大数据损坏的影响。但这当然是你的决定。 (5认同)
  • @ReverentLapwing 媒体格式几乎普遍使用“有损”压缩,而通用压缩必须是“无损”。有损算法比无损算法具有**得多**的压缩比,但仅适用于该媒体类型。如果无损方法对媒体有用,那么编解码器就已经在使用它了。如果 2% 的增益对您有意义,那么请花时间使用 HEVC 或 AV1 重新压缩视频,而不是使用 GZip。您可能可以节省 50%。(非常高兴 ZFS 用户在这里。正如预期的那样,我的媒体数据集基本上得到了零压缩。) (2认同)