如何使用 gcloud 在两个虚拟机之间移动文件?
How to move files between two VMs using gcloud?
我尝试使用 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。
- SSH 登录到 VM-A。
- 使用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。
我尝试使用 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。
- SSH 登录到 VM-A。
- 使用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。