如何使用 gcloud 在两个虚拟机之间移动文件?

How to move files between two VMs using gcloud?

我尝试使用 提供的 scp,但是,这会产生错误:

gcloud compute scp github-action-runner-0001:/tmp/images.tar github-action-runner-0002:/tmp/images.tar
ERROR: (gcloud.compute.scp) All sources must be local files when destination is remote.  Got sources: [github-action-runner-0001:/tmp/images.tar], destination: github-action-runner-0002:/tmp/images.tar

我正在评估是否有其他方法可以使用 gcloud 实用程序将文件从一个 VM 复制到另一个。

显然,首先在本地复制文件是可行的,但是,考虑到文件的大小,这并不可靠。

假设您有两个 Compute Engine 虚拟机:VM-A 和 VM-B。

  1. SSH 登录到 VM-A。
  2. 使用gcloud compute scp命令复制文件to/fromVM-B。

通过登录VM-A,它成为本地系统,VM-B成为远程系统。

注意:您的问题没有具体说明 github-action-runner-0001 是什么。我假设它是 Compute Engine VM 的名称。如果不是,则完成步骤 #1,然后将文件从 github-action-runner-0001 复制到 VM-A,然后从 VM-A 复制文件使用步骤 2 到 VM-B。