将文件从一个Google Compute Engine VM移动到同一区域中的另一个?

时间:2014-11-12 23:08:13

标签: virtual-machine google-compute-engine google-cloud-platform

我在同一个区域中有2个Google Compute Engine VM。如何将文件从一个VM移动到另一个VM?

3 个答案:

答案 0 :(得分:5)

您可以使用gcloud compute copy-files在GCE实例或本地计算机之间复制数据。

答案 1 :(得分:1)

一种解决方案是将文件从vm_1移动到存储桶,再从存储移动到vm_2。

在vm_1运行命令gsutil cp your_file gs://your_bucket中执行此操作,然后在vm_2运行命令gsutil cp gs://your_bucket/your_file .中从存储区到vm_2,这样您将在存储桶中备份了相同的文件。

答案 2 :(得分:0)

在@Faizan的回答和@irudyak的评论中添加一个完整的gcloud compute scp命令的示例,该命令在跨不同项目的VM之间复制文件夹,并设置了适当的权限(即使用适当的访问权限登录gcloud帐户)通过gcloud auth login或其他方式访问这两个项目),将是:

gcloud compute scp --recurse example-folder --project project-b prj-b-dev-vm:/home/user/ --zone europe-west1-b --ssh-key-file ~/.ssh/id_rsa

--ssh-key-file选项是可选的,如果接收方VM已将ssh密钥作为known_host,并且在.ssh文件夹中,则该选项很有用(否则gcloud compute scp将自动创建一个新的ssh键以访问接收的VM)