Cluster computing 我可以将一个tarball中的文件直接提取到一个新的tarball中吗?

Cluster computing 我可以将一个tarball中的文件直接提取到一个新的tarball中吗?,cluster-computing,pipe,tar,named-pipes,nfs,Cluster Computing,Pipe,Tar,Named Pipes,Nfs,我在一个高性能计算集群上工作,出于一些原因,我不在这里解释,他们希望我们通过NFS来回发送一个文件。我的作业使用以前作业生成的数据,并依赖于工作目录的结构。我在data.tar中记录了所有以前的结果 我需要从data.tar中提取将在下一个作业中使用的目录,并从登录节点将它们作为新的tarball(如果可能)发送到计算节点。有没有一种方法可以将tar-xvf dir1/dir1.1 dir3/dir3.1输出流直接输送到新的tar-cvf命令 或者,我是否可以使用一个管道将第一次提取的结果直接传

我在一个高性能计算集群上工作,出于一些原因,我不在这里解释,他们希望我们通过NFS来回发送一个文件。我的作业使用以前作业生成的数据,并依赖于工作目录的结构。我在
data.tar中记录了所有以前的结果

我需要从
data.tar
中提取将在下一个作业中使用的目录,并从登录节点将它们作为新的tarball(如果可能)发送到计算节点。有没有一种方法可以将
tar-xvf dir1/dir1.1 dir3/dir3.1
输出流直接输送到新的
tar-cvf
命令

或者,我是否可以使用一个管道将第一次提取的结果直接传输到本地节点的
/scratch
目录,该管道将作为单个I/O活动,并有效地充当跨NFS写入单个文件的角色


提前谢谢。让我知道我是否可以更清楚地了解我的需求。

我想你可以设置一个tar管道并通过ssh进行流式传输

比如:

cat foobar.tar | ssh-Croot@my.serv.er“(cd/mnt/user/scratch/&&tar xvf-)


我在想你可以设置一个tar管道并通过ssh传输吗

比如:

cat foobar.tar | ssh-Croot@my.serv.er“(cd/mnt/user/scratch/&&tar xvf-)


所以我实际上在考虑焦油管道,但这一条似乎并没有包括我只需要foobar.tar中的几个subdir树的想法。只是将foobar.tar移到workerhost:/scratch并不是什么大问题,除了它的~200G,我只需要大约10G就可以运行下一个作业。我想提取10G子树,但在它发送到workerhost:/scratch之前或发送到workerhost:/scratch时重新读取它,这样我就不会在多个I/O事件中通过网络发送大量相当大的文件,从而激怒管理员!啊,是的,如果你只需要一些,转移所有东西是没有意义的!我会重新考虑的!所以我实际上在考虑焦油管道,但这一条似乎并没有包括我只需要foobar.tar中的几个subdir树的想法。只是将foobar.tar移到workerhost:/scratch并不是什么大问题,除了它的~200G,我只需要大约10G就可以运行下一个作业。我想提取10G子树,但在它发送到workerhost:/scratch之前或发送到workerhost:/scratch时重新读取它,这样我就不会在多个I/O事件中通过网络发送大量相当大的文件,从而激怒管理员!啊,是的,如果你只需要一些,转移所有东西是没有意义的!我会重新考虑的!