首页 > 解决方案 > 如何将 AWS s3 从远程服务器同步到 s3 存储桶?

问题描述

一般来说,我是aws和服务器的新手。希望可以有人帮帮我 :)

我想做的事:

我在远程服务器上有一些图像文件,我想将它们复制到 aws s3 存储桶。一旦我 ssh 中间服务器,我就可以 ssh 这个远程服务器。所以看起来像

me(local) <-----> server1 <----> server2 where image files on

我做了什么:

*我先ssh server1。

*我在该服务器上安装了 aws-cli,并设置了配置。

*然后我进入aws s3 sync <username-I-use-for-server2>@<server2-IP>:/images/pc s3://<s3 bucket name>

问题:

我期望从 server2 获得密码提示,然后将文件同步images/pc到 s3 存储桶,但我收到错误消息The user-provided path <username-I-use-for-server2>@<server2-IP>:/images/pc does not exist.

谁能告诉我我做错了什么?

我已经检查过我可以 ssh server2 并且里面也有文件/images/pc

任何帮助,将不胜感激!!

标签: amazon-web-servicesamazon-s3sshserveraws-cli

解决方案


预计这是当前服务器的本地路径。

可用的组合是<LocalPath> <S3Uri> or <S3Uri> <LocalPath> or <S3Uri> <S3Uri>

您将需要针对您尝试从中复制对象的服务器上的本地路径运行此命令。

请记住,所有这些命令实际上都是aws s3api putObject在后台运行,以及一些管理以在本地磁盘上执行诸如递归之类的操作。它不处理任何 SSH 交互。

如果您想在服务器之间共享任何资产,则需要先在服务器之间挂载它们(例如使用 NFS 挂载),然后才能同步它们,否则在另一台服务器上运行该命令。


推荐阅读