我需要"擦洗"生产备份的副本 - 它是一个非常大的tar.gz,包含许多需要匿名的非常小的文件。我知道我可以提取它,覆盖文件,然后重新压缩它,但这需要大量的磁盘空间,并且会在prod机器上带来风险。我知道我可以
tar zxfv --exclude filea fileb filec | concat file, fileb, filec | tar cvfz newarchive
然后我无法弄清楚是否有一种构建新文件的方法,我的新副本交换过来 - 比如
{{1}}
有可能吗?即,我可以生成新的存档而不会出现在我的磁盘上的全尺寸未压缩.tar。
答案 0 :(得分:2)
是的,但如果您使用tar(1)
,则运行时将随着存档的大小呈指数级增长。考虑用具有流tar支持的语言编写脚本,例如带tarfile
的Python,允许您读出流中的各个文件,然后将它们添加到另一个存档。