1

这是当前的情况-

我有多个 S3 Buckets,它们为来自 FTP 的对象的 PUT 配置了 SQS 事件,我使用 S3FS 进行了配置。

此外,我在 EC2上有多个目录,用户可以在其中放置一个对象,该对象与不同的 S3 存储桶(使用 S3FS)同步,生成 SQS 事件(使用 S3 的 SQS 事件)。

这是我需要实现的目标,

我需要整合文件夹级别的逻辑,而不是多个 S3 存储桶
即。我现在已经为之前创建的每个存储桶创建了不同的文件夹,我已经为各个文件夹中的 PUT 创建了单独的 SQS 事件。

现在是 S3FS 的存储桶级别逻辑,我想调整单个 S3 存储桶中的文件夹级别。

IE。我想在 EC2 上创建 3 个不同的目录,例如 A、B、C。
如果我在 EC2 的目录 A 中放置一个对象,则该对象必须与 S3 存储桶中的文件夹 A 同步
对于目录 B 和 S3 的文件夹 B 以及 EC2 上的目录 C 和 S3 上的文件夹 C 也是如此。

以下是我为安装 S3FS 创建的步骤 -
步骤 -

  1. SSH 进入 EC2

  2. sudo apt-get install automake autotools-dev g++ git libcurl4-gnutls-dev libfuse-dev libssl-dev libxml2-dev make pkg-config

  3. git 克隆https://github.com/s3fs-fuse/s3fs-fuse.git

  4. cd s3fs-保险丝

  5. ./autogen.sh

  6. 。/配置

  7. 制作

  8. 须藤使安装

将 S3 存储桶挂载到文件系统

  1. echo access-key-id:secret-access-key > /etc/passwd-s3fs

  2. chmod 600 /etc/passwd-s3fs

  3. mkdir /mnt/存储桶名

  4. echo s3fs# bucketname /mnt/ bucketname fuse _netdev,rw,nosuid,nodev,allow_other 0 0 >> /etc/fstab

  5. 挂载-a

现在这些步骤实现了 EC2 上的特定目录和 S3 存储桶之间的同步,
我如何调整它以同步 EC2 上的 2 个不同目录与 S3 上的 2 个不同文件夹。
我是 Linux 和 AWS 新手,请帮帮我。

4

1 回答 1

0

不要将 S3 存储桶挂载到文件系统。使用 AWS S3 CLI 和 Cron 将 EC2 目录与 S3 存储桶目录同步。

  1. 在 EC2 实例上安装 S3CMD ( http://tecadmin.net/install-s3cmd-manage-amazon-s3-buckets/# )
  2. 启动 cron 作业以实现与本地目录和 S3 存储桶子文件夹的同步。

创建一个脚本文件,例如“script.sh”

#/bin/bash
aws s3 sync /path/to/folder/A s3://mybucket/FolderA
aws s3 sync /path/to/folder/B s3://mybucket/FolderB
aws s3 sync /path/to/folder/C s3://mybucket/FolderC

为这样的事情开始一个 cron 工作:

* * * * * /root/scripts/script.sh

您将实现您的用例。

于 2016-07-26T20:22:43.217 回答