将文件夹上传到虚拟机

将文件夹上传到虚拟机

我在 Google Cloud 项目中的 Compute Engine 上创建了一个 VM 实例。我想将计算机本地存储中的文件夹上传到虚拟机的启动盘。

我尝试scp在计算机的命令行界面中输入命令scp /file/path/name external-ip-address-of-server:.但随后出现错误Permission denied (publickey). lost connection

我还知道该wget命令可用于将文件从互联网下载到计算机上。我考虑过使用它,但这需要将我的文件夹作为下载链接放在网上,而我不知道该怎么做。

将本地存储中的文件夹放到虚拟机的启动盘上的最佳方法是什么?

答案1

您正在寻找的工具可能是rsync

可能的命令行可能是:

rsync -av /file/path/name external-ip-address-of-server:

Rsync 用作ssh其默认传输方式,因此在它能轻松为您工作之前,您似乎需要让您的ssh登录正常工作。但这是另一个问题,StackExchange 可能已经给出了答案。

答案2

我认为你要找的是

gcloud compute scp --recurse [folder_name] your_instance:/path/to/copy/

您可以在这里找到参考:https://cloud.google.com/sdk/gcloud/reference/compute/scp

答案3

我建议使用存储桶来存储文件夹。这样您就可以将相同的文件夹复制到不同的虚拟机。

基本命令是工具. 如果你想复制文件,请使用古斯蒂尔 cp. 要同步文件夹,您可以使用gsutil rsync

将数据从本地机器复制到存储桶的示例:

gsutil -m rsync -r data . gs://mybucket/data

从 bucket 复制到 vm,然后连接到 VM 的示例:

gsutil -m rsync -r data gs://mybucket/data .

-m 用于多线程同步

-r 是查看子文件夹

相关内容