将文件添加到tar存档后删除

7 浏览
0 Comments

将文件添加到tar存档后删除

GNU tar能够将许多文件添加到存档中,并在添加每个文件时删除它们,这非常有用当没有足够的磁盘空间来容纳整个tar存档和原始文件时,因此无法简单地在通常的方式下手动删除文件。

0
0 Comments

删除文件后添加到tar存档中的问题可能是由于以下原因导致的:

- 在使用tar命令将文件添加到存档后,没有正确删除原始文件。

- 在使用xargs命令时,没有正确配置参数或选项。

为了解决这个问题,可以采取以下方法:

1. 在tar和rm命令之间使用&&而不是;,这样只有在成功将文件添加到存档后才会删除文件。

2. 如果find命令支持-exec选项,则可以考虑使用-exec选项。

以下是解决方法的代码示例:

find ./ -mtime +7 | xargs -I % sh -c 'tar -rf arc.tar % && rm -f %'

以上是关于“删除文件后添加到tar存档中”问题的原因和解决方法。希望这些信息对您有所帮助。

0
0 Comments

问题的原因:在进行tar归档之后,删除文件的操作。

解决方法:使用以下代码可以逐个文件地将文件添加到tar归档中,并在添加完成后删除文件。

tar -cf archive.tar afile
for myfile in dir/*.ext
do
    tar -uf archive.tar $myfile && rm $myfile || echo "error tar -uf archive.tar $myfile"
done

需要注意的是,这里真正必要的标志是-r,即“追加”,尽管-u,“更新”,也包含了它。

欢迎访问Stack Overflow!虽然这段代码可能解决了问题,但解释这段代码是如何解决问题的,以及为什么会这样做,将有助于提高您的帖子质量,并可能导致更多的赞同。请记住,您正在为将来的读者回答问题,而不仅仅是现在提问的人。请编辑您的答案以添加解释,并指出适用的限制和假设。

需要注意的是,这里真正必要的标志是-r,即“追加”,尽管-u,“更新”,也包含了它。

0
0 Comments

问题出现的原因是:使用tar命令将文件添加到tar归档后,如果希望删除原文件,需要使用选项--remove-files,但是有人担心使用这个选项会在整个过程结束时删除所有文件,而不是在添加到归档后删除每个文件。

解决方法是:在使用GNU tar时,可以使用选项--remove-files来删除文件。通过检查GNU tar的源代码,发现在归档和删除之间存在一些(可配置的)延迟,但是tar不会等待整个tar文件被创建。

对于bsdtar,有人问是否也有类似的选项。有人回答使用bsdtar时可以达到同样的效果,并且可以通过pg_dump -Fd来帮助进行备份。

可以使用GNU tar的--remove-files选项来在添加文件到tar归档后删除原文件,并且在使用bsdtar时也可以实现类似的效果。同时,通过pg_dump -Fd命令可以辅助进行备份操作。

0