首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >将大数据归档为多个部分

将大数据归档为多个部分
EN

Unix & Linux用户
提问于 2018-06-28 15:43:03
回答 2查看 6.1K关注 0票数 6

我正在处理大数据,我需要归档一个大于64 to的目录。我不能在我的文件系统上创建如此大的文件(存档)。不幸的是,所有在Linux上创建多部分存档的解决方案都建议先创建存档,然后使用split命令将其拆分为较小的文件。

我知道用f.e是有可能的。但不幸的是,我不得不使用RedHat 6- tar,gzip,bzip2.

我想知道如何创建一个脚本来询问用户的最大卷大小。它会用gzip归档每个文件,分割那些太大的文件,然后手动将它们合并成多个具有所选大小的tars。这是个好主意吗

使用基本Linux命令实现大归档分区还有其他的可能性吗?

更新:

我已经用受限的最大文件大小在文件系统上测试了解决方案,并且它工作了。将tar输出直接重定向到split命令的管道按预期工作:

tar -czf - HugeDirectory | split --bytes=100GB - MyArchive.tgz.

所创建的文件已经很小,合并时不会创建超大型文件:

cat MyArchive.tgz* | tar -xzf -

EN

回答 2

Unix & Linux用户

回答已采纳

发布于 2018-06-29 07:04:50

如果您有足够的空间存储压缩的归档文件,那么可以一次性创建并拆分归档文件(假设GNU split):

代码语言:javascript
复制
tar -c -vz -f - directory | split --additional-suffix=.gz.part -b 1G

这将创建名为xaa.gz.partxab.gz.part等的文件,每个文件都是tar存档的1G压缩位。

要解压缩档案:

代码语言:javascript
复制
cat x*.gz.part | tar -x -vz -f -

如果文件系统无法存储压缩的归档文件,则需要将归档部分写入另一个文件系统,以替代某些远程位置。

例如,在那个偏远的地方:

代码语言:javascript
复制
ssh user@serverwithfiles tar -c -vz -f - directory | split --additional-suffix=.gz.part -b 1G

这将通过ssh将压缩的存档从具有大目录的机器传输到本地计算机,并将其拆分。

票数 5
EN

Unix & Linux用户

发布于 2018-06-28 23:34:28

使用基本的UNIX命令,除了拆分一个现有文件之外,我看不出有什么办法。

但是如何安装star并使用来自star的多卷功能呢?

这样做的好处是可以检查部件是否按正确的顺序提供。

票数 0
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/452472

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档