![GNU tar:如何在 --listed-incremental 生效时混合包含和排除?](https://linux22.com/image/211380/GNU%20tar%EF%BC%9A%E5%A6%82%E4%BD%95%E5%9C%A8%20--listed-incremental%20%E7%94%9F%E6%95%88%E6%97%B6%E6%B7%B7%E5%90%88%E5%8C%85%E5%90%AB%E5%92%8C%E6%8E%92%E9%99%A4%EF%BC%9F.png)
我有一个tar
命令需要混合“包含”和“排除”操作。这是 - 当使用时不能--listed-incremental
完美工作,但与以下组合时则不然--listed-incremental
:
我尝试过的:
设置测试场景
/tmp/tartest$ rm * ; touch a b
--exclude a
前include (简单a
)按预期工作(a
被排除):/tmp/tartest$ gtar cvf test.tar --exclude a a b b
包括(简单的
a
)前--exclude a
按预期工作(包括a
在内):/tmp/tartest$ gtar cvf test.tar a --exclude a a b a b
--exclude a
前include (简单的a
)按预期工作(a
被排除),即使--listed-incremental
is 正在运行:/tmp/tartest$ rm snapshot ; gtar cvf test.tar --listed-incremental=snapshot --exclude a a b b
包括(简单的
a
)前确实--exclude a
不是按预期工作(a
是不是包括)正在--listed-incremental
运行:/tmp/tartest$ rm snapshot ; gtar cvf test.tar --listed-incremental=snapshot a --exclude a a b b ### Where is a???
对于 1 级增量备份,同样成立(但对这个问题不起作用)。
我的版本是1.34:
/tmp/tartest$ gtar --version tar (GNU tar) 1.34
我将跳过提及我所做的更多测试(显然我真正的命令行更复杂)。
问题
GNU tar 1.34 是 2021 年 3 月发布的。我无法想象这个非常基本的功能是tar
.我浏览了bug-tar
邮件列表,发现没有任何相关提及“增量”、“包含”或“排除”。我究竟做错了什么;我该如何修复我的命令行,以便在命令行上a
出现相应的命令行之前将其包含在存档中?--exclude