调用 kubectl cp 命令时如何使用 tar 命令选项
How to use tar command options when calling kubectl cp command
似乎 kubectl cp
命令在后台使用了 tar
命令。我如何使用(通过 kubectl cp
命令传递它们)某些 tar
命令选项,例如 --exclude
?例如,这可能有助于排除不需要从容器中复制的特定 files/directories。
谢谢
你可以这样做 -
kubectl exec -n <some-namespace> <some-pod> -- tar cf - --exclude='pattern' /tmp/foo | tar xf - -C /tmp/bar
例如-
我在命名空间 "pankaj" 中获得了一个 pod 运行;在我的容器中,我在路径中有 2 个文件 - /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
命令在后台使用了 tar
命令。我如何使用(通过 kubectl cp
命令传递它们)某些 tar
命令选项,例如 --exclude
?例如,这可能有助于排除不需要从容器中复制的特定 files/directories。
谢谢
你可以这样做 -
kubectl exec -n <some-namespace> <some-pod> -- tar cf - --exclude='pattern' /tmp/foo | tar xf - -C /tmp/bar
例如-
我在命名空间 "pankaj" 中获得了一个 pod 运行;在我的容器中,我在路径中有 2 个文件 - /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