脚本压缩(ZIP 或 TAR)以分块方式完成

脚本压缩(ZIP 或 TAR)以分块方式完成

我正在尝试寻找一种实用程序或方法,使我将整个目录压缩成块。我知道很容易指定,例如,创建的存档文件应正好是 X 大小或更小,但存档实用程序通常会让您需要所有存档文件才能打开存档,而这正是我要避免的。我需要能够指定存档文件的最大大小,它会将文件添加到其中,直到下一个文件的空间不足,因此它会启动一个新的存档文件。这样,存档文件在技术上是彼此独立的。

抱歉,我很难用语言准确表达这一点。如果我表达得不够具体,请评论。

答案1

有时我也遇到同样的情况,许多大文件必须压缩成很少档案。由于我也没有找到适合我需求的工具,所以我采取了不同的方法。

所有小的(例如最大 100MB)文件进入一个档案, 这大的(例如 500MB 及更大)文件将被压缩为单一档案因此,我只需将目录的内容导入到文本文件中,然后将其转换为简单的批处理文件:

目录:
文件1.dat
文件2.csv
文件3.mdf

脚本:
zip -9 文件 1.dat.zip 文件 1.dat
zip -9 文件 2.csv.zip 文件 2.csv
zip -9 文件 3.mdf.zip 文件 3.mdf

它有点像手工制作,但对我来说很有用,希望有点帮助。;-)

答案2

如果您使用 GNU tar,我相信您可以指定-L(磁带长度,以千字节为单位)——我相信生成的“磁带”可以独立解压。

但不确定“更改磁带”功能如何处理文件(或压缩),因此请先进行实验:-)

相关内容