我在同一个区域中有2个Google Compute Engine VM。如何将文件从一个VM移动到另一个VM?
答案 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)