s3cmd 在使用 s3cmd get 时请求 S3 URI

s3cmd 在使用 s3cmd get 时请求 S3 URI

我已将 mysql 备份文件上传到 amazon s3 s3://bucketname/object/mysqlbackupfile。当我尝试使用它来检索它时,s3cmd get s3://bucketname/object/mysqlbackupfile弹出一个错误“错误:参数问题:需要 S3 URI 而不是 '-'”。有人能帮我吗?我正在使用 ubuntu 14.04 lts,我正在从 scaleway 服务器尝试此操作。

答案1

为什么不使用常规的 aws cli?我从来没有遇到过任何问题,而且由提供商维护。我推荐它,因为我遇到了一些 s3cmd 问题。

您可以使用 轻松安装它pip install awscli,然后运行aws configure(您必须输入一些配置详细信息和凭据)。如果您尚未安装 pip,则可以使用 进行安装sudo apt-get install python-pip

此后,您将拥有一个功能更广泛的工具,例如多个帐户和区域。

如果你想下载文件,请运行:

aws s3 cp s3://bucketname/folder/file /local/folder/file

对于上传,您可以使用:

aws s3 cp /local/folder/file s3://bucketname/folder/file

如果您想递归复制整个目录,只需使用位置和--recursive选项:

aws s3 cp /local/folder/ s3://bucketname/folder/ --recursive

如果您还想保留本地文件并在本地文件夹和 S3 存储桶之间进行同步,则可以使用:

aws s3 sync s3://bucketname/folder /local/fodler

而且它还具有强大的“帮助”功能:aws helpaws <command> help

答案2

使用 s3 bucket 的端点。例如 URL:bucketname.s3-website-us-west-1.amazonaws.com

您可以在 s3 属性中获取此 URL。

使用URL而不是bucket名称来下载。

相关内容