当调用 kubectl cp 命令时,如何使用 tar 命令选项

3
似乎 kubectl cp 命令在后台使用了 tar 命令。我该如何在 kubectl cp 命令中传递一些 tar 命令选项,例如 --exclude?例如,这可以帮助排除不需要从容器中复制的特定文件/目录。
谢谢
1个回答

6
您可以这样做 -
kubectl exec -n <some-namespace> <some-pod> -- tar cf - --exclude='pattern' /tmp/foo | tar xf - -C /tmp/bar

作为例子 - 我有一个在命名空间“pankaj”中运行的 pod;在我的容器内部,我有两个位于路径 /tmp/foo 下的文件。
/tmp/foo # ls
file1.txt  file2.txt

我的需求是只想复制文件file1.txt,因此我将这样做 -

kubectl exec -n pankaj <pod name> -- tar cf - --exclude='file2.txt' tmp/foo | tar xf - -C /Users/pa357856/test

结果将是我只会得到file1.txt 文件。
$ pwd
/Users/pa357856/test
$ ls tmp/foo/
file1.txt

谢谢,将其作为 kubectl cp 选项的一部分也是很好的。 - imriss

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接