我在 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 是查看子文件夹