什么是使用FTP / SCP将文件拉到S3的最佳方法?

时间:2013-04-16 01:55:08

标签: amazon-web-services amazon-s3

每隔几分钟,最好的,轻量级的FPT / SCP文件到S3的方式是什么?所以wget / curl可以工作。另外一个自定义解决方案可以工作,也许Java用DB来维护状态。任何想法都会有所帮助。

2 个答案:

答案 0 :(得分:15)

只需使用s3cmdbotoS3 command-line tools或......以及其他一些选项。

基本上您只是发布到S3 API。您可以使用AWS的无数SDK以几乎任何语言执行此操作。但是,s3cmd是一个很好的,轻量级的小型CLI工具,可能比您需要的更多。

您的评论表明您正在寻找略有不同的东西。以下是基于文件来源和目的地的一些建议:

  • 如果您要将文件从EC2或本地主机移至S3 ,请使用s3cmd。如果您需要定期运行,请考虑cron job。以下将每五分钟运行一次。

    */5 * * * * s3cmd sync --delete-removed my_local_directory/ s3://my-bucket/path/
    
  • 如果您要将文件从S3移动到EC2或您的本地主机,请使用s3cmd但反向语法:

    */5 * * * * s3cmd sync s3://my-bucket/path/ my_local_directory/
    
  • 如果您要将文件从本地主机移动到EC2 ,请考虑scprsync

答案 1 :(得分:1)

您可以将S3存储桶安装为本地分区,并使用位于服务器文件系统上的S3文件。有a numbergood开源工具可供使用。

但是,在我这边,我建议你看看我的项目:RioFS,一个用于安装Amazon S3存储桶的用户空间文件系统。项目的目标和与其他类似工具相比的主要优势是:简单,操作速度和无错误的代码。

目前该项目处于“测试版”状态,但它已经在几个高负载文件服务器上运行了相当长的一段时间(RioFS提供了对位于ftp / sftp服务器的S3文件的访问权限)。

我们正在围绕我们的项目建立一个社区,并正在寻求更多人加入我们的项目,以讨论未来的计划并帮助进行测试。在我们这边,我们提供快速错误修复,并会听取您添加新功能的请求。

快速操作方法:

您可以使用以下命令安装存储桶(假设您已安装RioFS并已导出AWSACCESSKEYID和AWSSECRETACCESSKEY环境变量):

riofs http://s3.amazonaws.com your_bucket_name /path/to/localfolder

(请参阅项目描述并运行riofs --help以获取命令行参数的帮助)

请注意,该项目仍处于开发阶段,可能仍有一些漏洞。 如果您发现某些内容无法正常工作:请在项目的GitHub页面上填写问题报告。

希望它有所帮助,我们期待着您加入我们的社区!