我正在处理大数据,我需要归档一个大于 64 TB 的目录。我无法在我的文件系统上创建这么大的文件(存档)。不幸的是,所有提议的在 Linux 上创建多部分存档的解决方案都建议先创建一个存档,然后使用split命令将其拆分为较小的文件。
我知道 fe 7zip 是可能的,但不幸的是,我不得不使用 RedHat 6 中内置的工具 - tar、gzip、bzip2 ...
我想知道创建一个脚本来询问用户的最大音量大小。它会用 gzip 归档每个文件,拆分那些太大的文件,然后手动将它们合并到许多具有所选大小的 tars 中。这是一个好主意吗?
有没有其他可能用基本的 Linux 命令来实现大档案划分?
更新:
我已经在限制最大文件大小的文件系统上测试了该解决方案并且它有效。将tar输出直接重定向到split命令的管道已按预期工作:
tar -czf - HugeDirectory | split --bytes=100GB - MyArchive.tgz.
创建的文件已经很小,将它们合并在一起时不会创建超大文件:
cat MyArchive.tgz* | tar -xzf -