我正在尝试将文件从 OpenShift 集群上运行的 pod 复制到我的本地 Windows 系统。 我的第一次尝试是
oc rsync <podname>:<path_to_file_on_pod> C:\temp
最终出现一条错误消息,有趣的是,它告诉我 rsync 不可用(事实证明这是真的),我应该安装
cwRsync
(使用 Cygwin 在 Windows 上运行的 rsync 实现),然后重试。
所以我下载并安装了 cwrsync_6.2.11_x64_free.zip
,解压它并将其 bin
目录添加到我的 path
并重新启动我的 shell。
以 Cygwin 作为该工具的基础,无法使用正常的 Windows 路径,但需要指定路径,例如C: emp... 为“/cygdrive/c/temp/...”。
这个 Rsync/cwRsync 似乎可以工作 - 执行例如
rsync /cygdrive/c/temp/folder1/test.txt /cygdrive/c/temp/folder2
忠实地将测试文件从 folder1
复制到 folder2
。
但是,只要我在该命令前面添加
oc
前缀,它总是会失败,并声称找不到 Windows 端路径。例如:
oc rsync "test-pod-6bdc6dd8f5-qspvz:/temp/test" /cygdrive/c/temp/
产量
error: invalid path /cygdrive/c/temp/: CreateFile /cygdrive/c/temp/: The system cannot find the path specified.
它似乎并不取决于位置(我也尝试了其他目标路径,但总是有相同的错误结果)。无论我指定什么路径,都找不到。
知道我在这里缺少什么吗?
顺便说一句:我什至只尝试了本地操作,即不从 Pod 复制,而是仅在本地计算机上复制:
oc rsync /cygdrive/c/temp/folder1/test.txt /cygdrive/c/temp/folder2
(即仅本地rsync),但即使这样也会产生相同的“错误:无效路径/cygdrive/c/temp/folder1/test.txt:CreateFile /cygdrive/c/temp/folder1/test.txt:系统找不到指定的路径。”
由于 rsync 有两种策略“rsync、tar”,因此您不需要在 Windows 机器上安装 rsync 或 cyg,只需确保您的 pod 镜像中安装了 tar 即可。并下载文件,假设您在 C 盘“temp”中创建了一个文件夹
oc rsync test-pod-6bdc6dd8f5-qspvz:/temp/test C:/temp