5

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

4

2 回答 2

15

只需使用s3cmdorbotoS3 命令行工具或...嗯...很多其他选项。

基本上你只是发布到 S3 API。您可以使用 AWS 的无数开发工具包以几乎任何语言执行此操作。s3cmd但是,它是一个不错的轻量级 CLI 小工具,可能超出您的需要。

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

  • 如果您要将文件从 EC2 或您的 localhost 移动到 S3,请使用s3cmd. 如果您需要定期运行它,请考虑使用cron 作业。以下将每五分钟运行一次。

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

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

于 2013-04-16T02:38:11.973 回答
1

您可以将 S3 存储桶挂载为本地分区并使用位于服务器文件系统上的 S3 文件。有许多不错的开源工具可用。

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

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

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

快速操作方法:

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

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

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

请注意,该项目仍在开发中,可能仍存在许多错误。如果您发现某些事情没有按预期工作:请在项目的 GitHub 页面上填写问题报告。

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

于 2013-05-02T00:14:25.520 回答